The variables (xkod, xinfo, xkay01_code, xunit), I sent post method via Postman. I got successfully message from rest api, But these variables cannot be written to kay10 table, what could be the reason? is it any credential problem ?
Rest api(kay10.p) is as below.
kay10.p
----------------------------------------------------------------------------------------------------------------------------------------------
@openapi.openedge.export FILE(type="REST", executionMode="single-run", useReturnValue="false", writeDataSetBeforeImage="false").
/*------------------------------------------------------------------------
File : kay10.p
Purpose :
Syntax :
Description :
Author(s) : pnmtmr04
Created : Fri May 17 16:43:33 EEST 2019
Notes :
----------------------------------------------------------------------*/
/* *************************** Definitions ************************** */
ROUTINE-LEVEL ON ERROR UNDO, THROW.
DEFINE TEMP-TABLE ttkay10 LIKE KAY10.
/* ******************** Preprocessor Definitions ******************** */
/* *************************** Main Block *************************** */
/* ********************** Internal Procedures *********************** */
@openapi.openedge.export(type="REST", useReturnValue="false", writeDataSetBeforeImage="false").
PROCEDURE readkay10:
/*------------------------------------------------------------------------------
Purpose:
Notes:
------------------------------------------------------------------------------*/
DEFINE INPUT PARAMETER ttcode AS CHARACTER NO-UNDO.
DEFINE OUTPUT PARAMETER jsontext AS LONGCHAR NO-UNDO.
DEFINE VARIABLE jsonArray AS Progress.Json.ObjectModel.JsonArray NO-UNDO.
EMPTY TEMP-TABLE ttkay10.
FIND kay10 WHERE kay10.code=ttcode NO-ERROR.
CREATE ttkay10.
BUFFER-COPY kay10 TO ttkay10.
jsonArray = NEW Progress.Json.ObjectModel.JsonArray().
jsonArray:Read(TEMP-TABLE ttkay10:HANDLE).
jsonText = jsonArray:GetJsonObject(1):GetJsonText().
END PROCEDURE.
@openapi.openedge.export(type="REST", useReturnValue="false", writeDataSetBeforeImage="false").
PROCEDURE readkay10s:
/*------------------------------------------------------------------------------
Purpose:
Notes:
------------------------------------------------------------------------------*/
DEFINE INPUT PARAMETER filter AS CHARACTER NO-UNDO.
DEFINE OUTPUT PARAMETER TABLE FOR ttkay10.
EMPTY TEMP-TABLE ttkay10.
FOR EACH kay10 WHERE kay10.code BEGINS filter:
CREATE ttkay10.
BUFFER-COPY kay10 TO ttkay10.
END.
END PROCEDURE.
@openapi.openedge.export(type="REST", useReturnValue="false", writeDataSetBeforeImage="false").
PROCEDURE Createkay10:
/*------------------------------------------------------------------------------
Purpose:
Notes:
------------------------------------------------------------------------------*/
DEFINE INPUT PARAMETER xkod AS CHARACTER NO-UNDO.
DEFINE INPUT PARAMETER xinfo AS CHARACTER NO-UNDO.
DEFINE INPUT PARAMETER xkay01_code AS CHARACTER NO-UNDO.
DEFINE INPUT PARAMETER xunit AS CHARACTER NO-UNDO.
DEFINE OUTPUT PARAMETER successmsg AS CHARACTER NO-UNDO.
DEFINE OUTPUT PARAMETER success AS LOGICAL NO-UNDO.
FIND LPrmvPro NO-LOCK.
OUTPUT TO sil.csv.
PUT LPrmvPro.prokod ";" xkod ";" xinfo ";" xkay01_code ";" xunit SKIP.
OUTPUT CLOSE.
ASSIGN successmsg=""
success= FALSE.
FIND kay10 WHERE kay10.code=xkod EXCLUSIVE-LOCK NO-ERROR.
IF NOT AVAILABLE kay10 THEN DO:
CREATE kay10.
ASSIGN kay10.code=xkod
kay10.Info=xinfo
kay10.KAY01_Code=xkay01_code
kay10.Unit=xunit.
ASSIGN successmsg=xkod + " " + xinfo
success=TRUE.
END.
END PROCEDURE.
--------------------------------------------------------------------
the contents of the sil.csv file is as below
KABA;NMEMOXOZ;MEHMET Ö;4.01.A ;mo
---------------------------------------------------------------------------
POST : http://10.10.10.53:8080/DemoProject/rest/DemoService/kay10
Content-Type : application/json
{"request" :
{
"xkod": "NMEMOXOZ",
"xinfo": "MEHMET ÖZCAN",
"xkay01_code": "4.01.A",
"xunit": "mo"
}
}
Hi,
I figured out what the problem is as there are triggers in the kay10 table. I could manage to create record kay10 table by using POST method once I deleted the triggers(write and delete) in kay10 table.