[progress Communities] [progress Openedge Abl] Forum Post: Re: Addidfield With Angular 2

  • Thread starter Thread starter William Antero
  • Start date Start date
Status
Not open for further replies.
W

William Antero

Guest
Hi Martin. Have you write the code to assign the ClientNum in a CreateTrigger of your table? /*------------------------------------------------------------------------ File : CreateAnalistas.p Purpose : Syntax : Description : Trigger Create Analistas Author(s) : William Pavei Antero Created : Thu Mar 09 16:13:45 BRT 2017 Notes : ----------------------------------------------------------------------*/ /* *************************** Definitions ************************** */ BLOCK-LEVEL ON ERROR UNDO, THROW. /* ******************** Preprocessor Definitions ******************** */ /* *************************** Main Block *************************** */ TRIGGER PROCEDURE FOR CREATE OF Analistas. ASSIGN Analistas.IdAnalista = REPLACE(GUID(GENERATE-UUID), "-", ""). /*------------------------------------------------------------------------ File : Analistas Syntax : Author(s) : wantero Created : Thu Feb 16 12:27:38 BRST 2017 Notes : ----------------------------------------------------------------------*/ @program FILE(name="Analistas.cls", module="AppServer"). @openapi.openedge.export FILE(type="REST", executionMode="singleton", useReturnValue="false", writeDataSetBeforeImage="false"). @progress.service.resource FILE(name="Analistas", URI="/Analistas", schemaName="dsAnalistas", schemaFile="SGASP/src/AppServer/analistas.i"). USING Progress.Lang.*. USING OpenEdge.BusinessLogic.BusinessEntity. BLOCK-LEVEL ON ERROR UNDO, THROW. CLASS Analistas INHERITS BusinessEntity: /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ {"analistas.i"} DEFINE DATA-SOURCE srcAnalistas FOR sgasp.Analistas. DEFINE VARIABLE filterOpenEdge AS FilterOpenEdge NO-UNDO. DEFINE VARIABLE iSeq AS INTEGER NO-UNDO. /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ CONSTRUCTOR PUBLIC Analistas(): DEFINE VAR hDataSourceArray AS HANDLE NO-UNDO EXTENT 1. DEFINE VAR cSkipListArray AS CHAR NO-UNDO EXTENT 1. SUPER (DATASET dsAnalistas:HANDLE). /* Instancia a classe de filtro */ filterOpenEdge = NEW FilterOpenEdge(). /* Data Source for each table in dataset. Should be in table order as defined in DataSet */ hDataSourceArray[1] = DATA-SOURCE srcAnalistas:HANDLE. /* Skip-list entry for each table in dataset. Should be in temp-table order as defined in DataSet */ /* Each skip-list entry is a comma-separated list of field names, to be ignored in create stmt */ cSkipListArray[1] = "IdAnalista". THIS-OBJECT:ProDataSource = hDataSourceArray. THIS-OBJECT:SkipList = cSkipListArray. END CONSTRUCTOR. /*------------------------------------------------------------------------------ Purpose: Get one or more records, based on a filter string Notes: ------------------------------------------------------------------------------*/ @openapi.openedge.export(type="REST", useReturnValue="false", writeDataSetBeforeImage="true"). @progress.service.resourceMapping(type="REST", operation="read", URI="?filter=~{filter~}", alias="", mediaType="application/json"). @openapi.openedge.method.property (name="mappingType", value="JFP"). @openapi.openedge.method.property (name="capabilities", value="ablFilter,top,skip,id,orderBy"). METHOD PUBLIC VOID ReadAnalistas( INPUT filter AS CHARACTER, OUTPUT DATASET dsAnalistas): DEFINE VARIABLE hCP AS HANDLE NO-UNDO. hCP = SESSION:CURRENT-REQUEST-INFO:GetClientPrincipal(). MESSAGE "Username: " + hCP:QUALIFIED-USER-ID + " - " + hCP:DOMAIN-NAME. /*IF NOT SET-DB-CLIENT(hCP) THEN DO: MESSAGE "User not authorized!". //QUIT. END.*/ MESSAGE "USERID: " USERID VIEW-AS ALERT-BOX. IF filter BEGINS "~{" THEN filterOpenEdge:JFPFillMethod(filter, TEMP-TABLE ttAnalistas:HANDLE:DEFAULT-BUFFER-HANDLE, BUFFER Analistas:HANDLE, DATA-SOURCE srcAnalistas:HANDLE, DATASET dsAnalistas:HANDLE, "Analistas", iSeq). ELSE DO: BUFFER ttAnalistas:HANDLE:BATCH-SIZE = 0. BUFFER ttAnalistas:SET-CALLBACK ("AFTER-ROW-FILL", "AddIdField"). SUPER:ReadData(filter). END. END METHOD. /*------------------------------------------------------------------------------ Purpose: Create one or more new records Notes: ------------------------------------------------------------------------------*/ @openapi.openedge.export(type="REST", useReturnValue="false", writeDataSetBeforeImage="true"). @progress.service.resourceMapping(type="REST", operation="create", URI="", alias="", mediaType="application/json"). METHOD PUBLIC VOID CreateAnalistas(INPUT-OUTPUT DATASET dsAnalistas): SUPER:CreateData(DATASET dsAnalistas BY-REFERENCE). END METHOD. /*------------------------------------------------------------------------------ Purpose: Update one or more records Notes: ------------------------------------------------------------------------------*/ @openapi.openedge.export(type="REST", useReturnValue="false", writeDataSetBeforeImage="true"). @progress.service.resourceMapping(type="REST", operation="update", URI="", alias="", mediaType="application/json"). METHOD PUBLIC VOID UpdateAnalistas(INPUT-OUTPUT DATASET dsAnalistas): SUPER:UpdateData(DATASET dsAnalistas BY-REFERENCE). END METHOD. /*------------------------------------------------------------------------------ Purpose: Delete a record Notes: ------------------------------------------------------------------------------*/ @openapi.openedge.export(type="REST", useReturnValue="false", writeDataSetBeforeImage="true"). @progress.service.resourceMapping(type="REST", operation="delete", URI="", alias="", mediaType="application/json"). METHOD PUBLIC VOID DeleteAnalistas(INPUT-OUTPUT DATASET dsAnalistas): SUPER:DeleteData(DATASET dsAnalistas BY-REFERENCE). IF ERROR-STATUS:ERROR THEN DO: UNDO, THROW NEW Progress.Lang.AppError(ERROR-STATUS:GET-MESSAGE(1), ERROR-STATUS:GET-NUMBER(1)). END. END METHOD. @openapi.openedge.export(type="REST", useReturnValue="false", writeDataSetBeforeImage="false"). @progress.service.resourceMapping(type="REST", operation="invoke", URI="/count?filter=~{filter~}", alias="", mediaType="application/json"). METHOD PUBLIC VOID count( INPUT filter AS CHARACTER, OUTPUT numRecs AS INTEGER): filterOpenEdge:JFPCountMethod( INPUT filter, INPUT TEMP-TABLE ttAnalistas:HANDLE:DEFAULT-BUFFER-HANDLE, INPUT "Analistas", INPUT BUFFER Analistas:HANDLE, OUTPUT numRecs). END METHOD. METHOD PUBLIC VOID AddIdField (INPUT DATASET dsAnalistas): ASSIGN ttAnalistas.id = STRING(ROWID(Analistas)) iSeq = iSeq + 1 ttAnalistas.seq = iSeq. END METHOD. DESTRUCTOR PUBLIC Analistas ( ): END DESTRUCTOR. END CLASS. Best Regards, William

Continue reading...
 
Status
Not open for further replies.
Back
Top