Focal Point
[CLOSED] MODIFY transaction integrity

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/9927008426

October 04, 2012, 09:03 AM
dojo
[CLOSED] MODIFY transaction integrity
The following MODIFY works approximately 99.9999% of the time, BUT, occasionally the LINEITEMINS rows get dropped leading me to believe that the user is either closing their session while this is running or loses their connection or some other interuption occurs in the middle of this process resulting in a bad accounting transaction. It was my understanding that the default setting for WF was such that if the MODIFY was interrupted that the interface would issue a rollback for all previous work (BT with no ET). Is this true? Is there another setting that I need to issue in the top of the MODIFY? Thanks. I am using TeraData. joe



COMBINE VOUCHERINS LINEITEMINS MAILADDRINS PAYWAREH AS COMBXSTR
END
-RUN
MODIFY FILE COMBXSTR
SQLDBC SET LOADONLY
COMPUTE NS_DOCNO/A9=;
VO_INPUTDATETIME/A26=;
MA_INPUTDATETIME/A26=;
VO_CREATEID/A8=;
TA_TBLSEG/A8=;
TA_INVNO/A9=;
TA_ERRKEY/A4=;
EM_ERRCODE/A4=;
EM_MESSAGE/A100=;
EM_TYPE/A100=;
STATUS/A1=;
FIXFORM FROM LOADX
COMPUTE WH_TBLSEG/A8=VO_TBLSEG;
WH_APPLIC/A1='A';
WH_DOCNO/A9=VO_INVNO;
WH_SUBCERTNO/A22='&SBCNO';
WH_RPTMTH/A4=VO_RPTMONTH;
WH_STATUS/A1='K';
WH_SUBCERTID/A8=VO_SUBCERTID;
WH_SCHSET/A11=' ';
WH_VOUTYPE/A2=VO_TYPE;
WH_PAYDATE/YYMD=VO_PAYDATE;
WH_CREATE/YYMD=&YYMD;
WH_DISBMODE/A1=VO_DISBMODE;
WH_PAYEEID/A9=MA_TIN;
WH_AMOUNT/P15.2=VO_VOUCHAMT;
WH_VENDNAME/A30=MA_VENDNAME1;
WH_VENDNAME2/A30=MA_VENDNAME2;
WH_ADDRESS/A35=MA_ADDRESS1;
WH_ADDRESS2/A30=MA_ADDRESS2;
WH_CITY/A17=EDIT(MA_CITY,'9999999999999999');
WH_STATE/A2=MA_STATE;
WH_COUNTRY/A12=' ';
WH_ZIP/A9=MA_ZIP;
WH_VENDNO/A9=MA_VENDNO;
WH_CHKDESC1/A42=MA_CHKDESC1;
WH_CHKDESC2/A42=MA_CHKDESC2;
WH_CHKDESC3/A42=MA_CHKDESC3;
WH_CHKDESC4/A42=MA_CHKDESC4;
WH_CHKDESC5/A42=MA_CHKDESC5;
WH_ACCTNUM/A17=MA_ACCTNUM;
WH_ACCTTYPE/A1=MA_ACCTYPE;
WH_BANKROUTE/A9=MA_BANKROUTE;
WH_SCHEDULE/A11=VO_SCHEDULE;
VO_SCERTDATE/YYMD=&YYMD;
VO_ISTATUS/A1='W';
VO_SUBCSEG/A8='&SUBCSEG';

PERFORM MAIN1000

CASE MAIN1000
PERFORM INSVOSG
PERFORM INSVLSG
PERFORM INSMASG
IF WH_DISBMODE EQ 'V' OR 'T' THEN PERFORM INSWHSG;
ENDCASE

CASE INSVOSG
MATCH VO_TBLSEG VO_INVNO
ON NOMATCH INCLUDE
ENDCASE
CASE INSVLSG
MATCH VL_TBLSEG VL_INVNO VL_LINENO
ON NOMATCH INCLUDE
ENDCASE
CASE INSMASG
MATCH MA_TBLSEG MA_INVNO
ON NOMATCH INCLUDE
ENDCASE
CASE INSWHSG
MATCH WH_TBLSEG WH_APPLIC WH_DOCNO
ON NOMATCH INCLUDE
ENDCASE
LOG DUPL MSG OFF
LOG NOMATCH MSG OFF
DATA ON LOADX
END
-RUN

This message has been edited. Last edited by: Kerry,


Linux/zVM/WF7.6.11
October 10, 2012, 05:33 PM
Kerry
Hi dojo,

From our technicals: you will need a case with Customer Support Services to debug the issue. Please call 1-800-736-6130, or access online at InfoResponse.

Cheers,

Kerry


Kerry Zhan
Focal Point Moderator
Information Builders, Inc.
October 11, 2012, 02:44 AM
Danny-SRL
Hi dojo,

Did you try issuing a COMMIT command after your PERFORM MAIN1000?


Daniel
In Focus since 1982
wf 8.202M/Win10/IIS/SSA - WrapApp Front End for WF

October 11, 2012, 10:37 PM
John_Edwards
I use the Maintain Commands INSERT and UPDATE which allows me to examine the FocError code returned prior to explicitly issuing a Rollback or Commit. Maybe worth considering. They can be issued in a standard focexec.

J.