Check number not updated in the payment Document
Hi,
In transaction code F110, we have created one proposal and do the payment run, System is creating the payment document but the check number not getting updated in the document.
Kindly revert back.
Thanks,
Samir Bhatt
Go to transaction SE38 and run program RFCHKU00. This will update the assignment field of the document with the check numbers.
Similar Messages
-
Folio number not updated in the table RG23D
Hi all,
Folio number not updated in the table RG23D when I create depot excise invoice using batch program J_1IJCHK. Can any one help me by providing rootcause and solution.
Thanks in advance.
Regards
BalajiSee can i know in which version u r working,Because if u r in 4.6c there will be some problem.Some patches will be there.
Try this program i have send and assign excise duty
REPORT YJ_1IJCHK MESSAGE-ID 8I.
TABLES : J_1IEXCHDR, "excise header
J_1IEXCDTL, "excise detail
J_1IRG23D , "RG23D register
J_1IWRKCUS, "Plant level customisation
J_1IREGSET, "register set customisation
J_1IEXCDEF, "Tax default information
VBFA, "sales document flow
LIKP, "delivery header
LIPS, "delivery detail
T005, "country information
KUAGV, "sold-to-party information
KUWEV, "ship-to-party information
KNA1, "customer master
VBPA, "sales document partner
TVKO, "sales organisation to company co
VBUK, "delivery information
MAKT, "material description
T001. "company code
selection-screen begin of block delivery_details no intervals.
PARAMETERS: FCODE TYPE C,
DELIVERY LIKE LIPS-VBELN,
EXCGROUP LIKE J_1IEXCHDR-EXGRP,
SERGROUP LIKE J_1IEXCHDR-SRGRP.
TYPES : BEGIN OF RG23D.
INCLUDE STRUCTURE J_1IRG23D.
TYPES: MENGR LIKE J_1IEXCDTL-MENGR, "remaining quantity
MENGA LIKE J_1IEXCDTL-MENGA, "quantity actually rec
ADDBED LIKE J_1IEXCDTL-ADDBED,
ADDSED LIKE J_1IEXCDTL-ADDSED,
ADDAED LIKE J_1IEXCDTL-ADDAED,
END OF RG23D.
DATA : BEGIN OF J1IJ300,
BUKRS LIKE TVKO-BUKRS,
WERKS LIKE LIPS-WERKS,
REGID LIKE J_1IREGSET-J_1IREGID,
WAERS LIKE T001-WAERS,
SHIPFROM_IND TYPE C, " Added 10/12/1998
RG23D_SERIALNO TYPE C, " Added 10/12/1998
END OF J1IJ300.
DATA : TRNTYP(4) TYPE C,
CONDT-NAME(3) TYPE C,
TOTAL_LRG23D LIKE LIPS-LFIMG,
ALLOC_LRG23D LIKE LIPS-LFIMG,
SHIPFROM_IND LIKE J_1IEXCHDR-STATUS,
RG23D_SERIALNO LIKE J_1IEXCHDR-STATUS.
DATA : BEGIN OF XLIPS OCCURS 10,
internal table to store the delivery item information
VBELN LIKE LIPS-VBELN,
POSNR LIKE LIPS-POSNR,
MATNR LIKE LIPS-MATNR,
MAKTX LIKE MAKT-MAKTX,
WERKS LIKE LIPS-WERKS,
LGORT LIKE LIPS-LGORT,
CHARG LIKE LIPS-CHARG,
LFIMG LIKE LIPS-LFIMG,
MEINS LIKE LIPS-MEINS,
BED LIKE J_1IRG23D-EXBED,
SED LIKE J_1IRG23D-EXSED,
AED LIKE J_1IRG23D-EXAED,
CUR LIKE J_1IRG23D-EXCUR,
SELFLAG TYPE C , "T=excise invoice selected
INDEX LIKE SY-TABIX, "index in the table
FLG TYPE C. "item selection
DATA : END OF XLIPS.
DATA : CRG23D TYPE RG23D OCCURS 30 WITH HEADER LINE.
contains all rg23d entries for the document
DATA : LRG23D TYPE RG23D OCCURS 30 WITH HEADER LINE.
contains item rg23d entries
DATA : BEGIN OF Z_1IRG23D OCCURS 30.
stores the data to be updated
INCLUDE STRUCTURE J_1IRG23D.
DATA : END OF Z_1IRG23D.
DATA : BEGIN OF EXCINV OCCURS 30.
factory inovoics selected for item
INCLUDE STRUCTURE J_1IEXCDTL.
DATA : END OF EXCINV.
DATA : BEGIN OF ASSIGNED_EXCINV OCCURS 30.
INCLUDE STRUCTURE J_1IEXCDTL.
DATA : END OF ASSIGNED_EXCINV.
DATA : A_INDEX LIKE SYST-TABIX.
DATA : BEGIN OF LOCK_TABLE OCCURS 10,
table containing plant-material combination and status of the lock
WERKS LIKE J_1IEXCDTL-WERKS,
MATNR LIKE J_1IEXCDTL-MATNR,
STATUS TYPE C, "LOCKED/UNLOCKED
END OF LOCK_TABLE.
DATA : BEGIN OF LOCKTAB OCCURS 0,
TRNTYP LIKE J_1IEXCDTL-TRNTYP,
DOCNO LIKE J_1IEXCDTL-DOCNO,
DOCYR LIKE J_1IEXCDTL-DOCYR,
ZEILE LIKE J_1IEXCDTL-ZEILE,
END OF LOCKTAB.
DATA :
CRG23D-CTR TYPE I, "Line count of crg23d table
SHIPFROM LIKE J_1IRG23D-SHIPFROM,
FOLIO LIKE J_1IRG23D-FOLIO,
SERIALNO LIKE J_1IRG23D-SERIALNO,
DEPEXNUM LIKE J_1IRG23D-DEPEXNUM,
DEPEXYEAR LIKE J_1IRG23D-DEPEXYEAR.
CONSTANTS :
BED LIKE CONDT-NAME VALUE 'BED',
AED LIKE CONDT-NAME VALUE 'AED',
SED LIKE CONDT-NAME VALUE 'SED',
CES LIKE CONDT-NAME VALUE 'CES',
LOCKED TYPE C VALUE '1',
UNLOCKED TYPE C VALUE '2'.
AT SELECTION-SCREEN.
PERFORM CHECK_VBELN_INPUT.
IF FCODE = 'S'.
PERFORM DELIVERY_START_USER_EXIT.
PERFORM READ_DELIVERY_HEADER.
PERFORM GET_COMP_CODE.
PERFORM READ_CUSTOMISATION.
PERFORM GET_ITEM_INFO.
PERFORM LOCKING.
PERFORM RG23D_SELECTION.
PERFORM SAVE_DOCUMENT.
MESSAGE I000 WITH 'Selection Complete for Delivery ' DELIVERY.
ELSEIF FCODE = 'V'.
PERFORM GET_COMP_CODE.
PERFORM READ_CUSTOMISATION.
PERFORM GET_ITEM_INFO.
PERFORM LOCKING.
PERFORM UPDATE_DOCUMENT.
MESSAGE I000 WITH 'Verfiy/Post Complete for Delivery ' DELIVERY.
ENDIF.
FORM CHECK_VBELN_INPUT.
Validate Function Code
IF NOT ( FCODE = 'S' OR FCODE = 'V' ).
MESSAGE E000 WITH 'Valid Functions are S/V - Select/Verify Post'.
ENDIF.
IF DELIVERY IS INITIAL.
MESSAGE E000 WITH 'Delivery number cannot be initial'.
ENDIF.
check if goods issue done for the delivery
SELECT SINGLE WBSTK INTO VBUK-WBSTK
FROM VBUK
WHERE VBELN = DELIVERY.
IF SY-SUBRC = 0.
IF VBUK-WBSTK <> 'C' AND FCODE = 'V'.
MESSAGE W339 WITH DELIVERY.
ENDIF.
ELSE.
MESSAGE E000 WITH 'Invalid Delivery'.
ENDIF.
if in select mode check if excise invoice already selected for delive
SELECT SINGLE * FROM J_1IRG23D
WHERE VBELN = DELIVERY.
IF FCODE = 'S'.
IF SY-SUBRC = 0.
MESSAGE E325 WITH DELIVERY.
ENDIF.
ELSEIF FCODE = 'V'.
IF SY-SUBRC NE 0.
MESSAGE E000 WITH 'Selection not over for ' DELIVERY.
ELSEIF J_1IRG23D-STATUS = 'P'.
MESSAGE E000 WITH 'Record Already Posted '.
ENDIF.
ENDIF.
CLEAR J_1IRG23D.
ENDFORM. " CHECK_VBELN_INPUT
FORM READ_DELIVERY_HEADER.
SELECT SINGLE * FROM LIKP
WHERE VBELN = DELIVERY.
get the sold-to-party
CLEAR: KUAGV, KUWEV.
SELECT SINGLE KUNNR NAME1 LAND1
FROM KNA1 INTO (KUAGV-KUNNR,KUAGV-NAME1,KUAGV-LAND1)
WHERE KUNNR = LIKP-KUNAG.
get the ship-to-party
SELECT SINGLE KUNNR LAND1 NAME1
FROM KNA1 INTO (KUWEV-KUNNR,KUWEV-LAND1,KUWEV-NAME1)
WHERE KUNNR = LIKP-KUNNR.
ENDFORM. " READ_DELIVERY_HEADER
FORM GET_COMP_CODE.
get the company code of the document from the sales organisation
CLEAR TVKO-BUKRS.
SELECT SINGLE BUKRS FROM TVKO INTO TVKO-BUKRS
WHERE VKORG = LIKP-VKORG.
J1IJ300-BUKRS = TVKO-BUKRS.
SELECT SINGLE WAERS FROM T001 INTO J1IJ300-WAERS
WHERE BUKRS = J1IJ300-BUKRS.
ENDFORM. " GET_COMP_CODE
FORM READ_CUSTOMISATION.
SELECT SINGLE WERKS INTO J1IJ300-WERKS
FROM LIPS
WHERE VBELN = DELIVERY.
Plant level customisation
SELECT SINGLE * FROM J_1IWRKCUS
WHERE J_1IWERKS = J1IJ300-WERKS .
IF SY-SUBRC <> 0.
MESSAGE E303 WITH 'plant' J1IJ300-WERKS 'J_1IWRKCUS'.
ENDIF.
IF J_1IWRKCUS-J_1IDEPOT IS INITIAL.
plant is defined as factory
MESSAGE E322 WITH J1IJ300-WERKS.
ENDIF.
J1IJ300-REGID = J_1IWRKCUS-J_1IREGID.
TRNTYP = 'DLDO'.
SELECT SINGLE * FROM J_1IREGSET
WHERE J_1IREGID = J1IJ300-REGID.
IF SY-SUBRC <> 0.
MESSAGE E303 WITH 'Register id' J1IJ300-REGID 'J_1IREGSET'.
ENDIF.
ENDFORM. " READ_CUSTOMISATION
*& Form GET_ITEM_INFO
text *
--> p1 text
<-- p2 text
FORM GET_ITEM_INFO.
REFRESH : CRG23D, LRG23D, EXCINV, XLIPS.
PERFORM READ_DELIVERY_ITEM.
ENDFORM. " GET_ITEM_INFO
*& Form READ_DELIVERY_ITEM
text *
--> p1 text
<-- p2 text
FORM READ_DELIVERY_ITEM.
DATA : CNT LIKE SY-TABIX.
CLEAR CNT.
REFRESH XLIPS.
SELECT * FROM LIPS
WHERE VBELN = DELIVERY.
read the delivery item
perform plant checking only if in create mode
IF LIPS-WERKS <> J1IJ300-WERKS.
plant is different from that of the first item
SELECT SINGLE J_1IREGID INTO J_1IWRKCUS-J_1IREGID
FROM J_1IWRKCUS
WHERE J_1IWERKS = LIPS-WERKS.
IF SY-SUBRC <> 0.
MESSAGE E303 WITH 'plant' LIPS-WERKS 'J_1IWRKCUS'.
ENDIF.
IF J_1IWRKCUS-J_1IREGID <> J1IJ300-REGID.
register id of the two plants are different
MESSAGE E338 WITH DELIVERY.
ENDIF.
ENDIF.
CLEAR XLIPS.
store the item details
XLIPS-VBELN = LIPS-VBELN.
XLIPS-POSNR = LIPS-POSNR.
XLIPS-MATNR = LIPS-MATNR.
PERFORM GET_MATERIAL_DESC
USING XLIPS-MATNR
XLIPS-MAKTX.
XLIPS-WERKS = LIPS-WERKS.
XLIPS-LGORT = LIPS-LGORT.
XLIPS-CHARG = LIPS-CHARG.
XLIPS-LFIMG = LIPS-LFIMG.
XLIPS-MEINS = LIPS-VRKME. "changed 2.3.98
CLEAR : XLIPS-BED, XLIPS-SED, XLIPS-AED.
XLIPS-CUR = J1IJ300-BUKRS.
CNT = CNT + 1.
XLIPS-INDEX = CNT.
XLIPS-SELFLAG = 'F'.
APPEND XLIPS.
ENDSELECT.
ENDFORM. " READ_DELIVERY_ITEM
*& Form GET_MATERIAL_DESC
text *
--> p1 text
<-- p2 text
FORM GET_MATERIAL_DESC USING MATNR MAKTX.
SELECT SINGLE MAKTX FROM MAKT INTO MAKTX
WHERE MATNR = MATNR
AND SPRAS = 'E' .
ENDFORM. " GET_MATERIAL_DESC
*& Form LOCKING
text *
--> p1 text
<-- p2 text
FORM LOCKING.
REFRESH LOCK_TABLE.
LOOP AT XLIPS.
LOCK_TABLE-WERKS = XLIPS-WERKS.
LOCK_TABLE-MATNR = XLIPS-MATNR.
LOCK_TABLE-STATUS = UNLOCKED.
COLLECT LOCK_TABLE.
ENDLOOP.
PERFORM LOCK_UNLOCK_PLANT_MATERIAL USING LOCKED.
SELECT TRNTYP DOCNO DOCYR ZEILE INTO
(LOCKTAB-TRNTYP,
LOCKTAB-DOCNO,LOCKTAB-DOCYR,
LOCKTAB-ZEILE)
FROM J_1IEXCDTL
WHERE TRNTYP = 'GRPO'
AND WERKS = XLIPS-WERKS
AND LGORT = XLIPS-LGORT
AND MATNR = XLIPS-MATNR
AND CHARG = XLIPS-CHARG.
APPEND LOCKTAB.
ENDSELECT.
*share lock for all excise invoices
LOOP AT LOCKTAB.
CALL FUNCTION 'ENQUEUE_EJ_1IEXDTL'
EXPORTING
MODE_J_1IEXCDTL = 'S'
MANDT = SY-MANDT
TRNTYP = LOCKTAB-TRNTYP
DOCYR = LOCKTAB-DOCYR
DOCNO = LOCKTAB-DOCNO
ZEILE = LOCKTAB-ZEILE
EXCEPTIONS
FOREIGN_LOCK = 1
SYSTEM_FAILURE = 2
OTHERS = 3.
ENDLOOP.
ENDFORM. " LOCKING
*& Form LOCK_UNLOCK_PLANT_MATERIAL
text *
--> p1 text
<-- p2 text
FORM LOCK_UNLOCK_PLANT_MATERIAL USING ACTION.
DATA: __UNAME LIKE SY-UNAME,
__OBJECT LIKE DD25V-VIEWNAME.
DATA : BEGIN OF LOCK_STRUCT,
GRANNAME(10) VALUE 'J1IJ',
ENQMODE VALUE 'E',
MANDT LIKE SY-MANDT,
WERKS LIKE J_1IEXCDTL-WERKS,
MATNR LIKE J_1IEXCDTL-MATNR,
END OF LOCK_STRUCT.
LOCK_STRUCT-MANDT = SY-MANDT.
LOOP AT LOCK_TABLE WHERE STATUS <> ACTION.
perform the locking/unlocking operation only for the items for which
it is not already done
LOCK_STRUCT-WERKS = LOCK_TABLE-WERKS.
LOCK_STRUCT-MATNR = LOCK_TABLE-MATNR.
CALL 'C_ENQUEUE'
ID 'OPCODE' FIELD ACTION
ID 'ENQOBJ' FIELD 'J_1IJ'
ID '01' FIELD LOCK_STRUCT
ID 'COLLISION_UNAME' FIELD __UNAME
ID 'COLLISION_OBJECT' FIELD __OBJECT.
CASE SY-SUBRC.
WHEN 0.
LOCK_TABLE-STATUS = ACTION.
MODIFY LOCK_TABLE.
WHEN 2.
MESSAGE E341 WITH LOCK_TABLE-WERKS LOCK_TABLE-MATNR __UNAME.
WHEN OTHERS.
IF ACTION = LOCKED.
MESSAGE E342 WITH 'locking'
LOCK_TABLE-WERKS LOCK_TABLE-MATNR.
ELSE.
MESSAGE E342 WITH 'unlocking'
LOCK_TABLE-WERKS LOCK_TABLE-MATNR.
ENDIF.
ENDCASE.
ENDLOOP.
ENDFORM. " LOCK_UNLOCK_PLANT_MATERIAL
*& Form RG23D_SELECTION
text *
--> p1 text
<-- p2 text
FORM RG23D_SELECTION.
REFRESH CRG23D.
REFRESH ASSIGNED_EXCINV.
LOOP AT XLIPS.
*write: / xlips-vbeln,xlips-posnr,xlips-matnr, xlips-meins, xlips-lfimg.
REFRESH EXCINV.
CALL FUNCTION 'J_1I6_SELECT_EXCISE_INVOICE_DE'
EXPORTING
BUKRS = J1IJ300-BUKRS
CHARG = XLIPS-CHARG
WERKS = XLIPS-WERKS
EXGRP = EXCGROUP
MATNR = XLIPS-MATNR
QTY_CHECK = 'X'
MULTI = 'X'
NO_DAY_CHECK = 'X'
SHIPFROM = SHIPFROM
LGORT = XLIPS-LGORT
TABLES
EXC_TAB = EXCINV
EXCEPTIONS
OTHERS = 1.
TOTAL_LRG23D = 0.
ALLOC_LRG23D = 0.
SORT EXCINV BY DOCYR DOCNO .
LOOP AT ASSIGNED_EXCINV.
READ TABLE EXCINV WITH KEY DOCYR = ASSIGNED_EXCINV-DOCYR
DOCNO = ASSIGNED_EXCINV-DOCNO
ZEILE = ASSIGNED_EXCINV-ZEILE
BINARY SEARCH.
IF SY-SUBRC = 0.
A_INDEX = SY-TABIX.
EXCINV-MENGR = EXCINV-MENGR - ASSIGNED_EXCINV-MENGR.
MODIFY EXCINV INDEX A_INDEX .
ENDIF.
ENDLOOP.
DELETE EXCINV WHERE MENGR = 0.
total_lrg23d = total balance quantity in the selected excise invoices
alloc_lrg23d = Quantity allocated to a delivery line item,
Allocation continues till
- We have balance quantity in excise invoice selection
- Till total delivery quantity is allocated
LOOP AT EXCINV.
To Force the same shipfrom for all the excise invoices
Shipfrom Ind can be determined in the start user-exit
IF J1IJ300-SHIPFROM_IND = 'Y'.
IF XLIPS-INDEX = 1 AND SY-TABIX = 1.
SHIPFROM = EXCINV-SHIPFROM.
ENDIF.
IF SHIPFROM NE EXCINV-SHIPFROM.
EXCINV-RIND3 = 'X'.
MODIFY EXCINV.
CONTINUE.
ENDIF.
ENDIF.
Allocation
IF XLIPS-LFIMG NE ALLOC_LRG23D.
TOTAL_LRG23D = TOTAL_LRG23D + EXCINV-MENGR.
IF XLIPS-LFIMG > TOTAL_LRG23D.
ALLOC_LRG23D = ALLOC_LRG23D + EXCINV-MENGR.
ELSE.
EXCINV-MENGR = XLIPS-LFIMG - ALLOC_LRG23D.
ALLOC_LRG23D = ALLOC_LRG23D + EXCINV-MENGR.
ENDIF.
ELSE.
EXCINV-RIND3 = 'X'.
ENDIF.
MODIFY EXCINV.
ENDLOOP.
DELETE EXCINV WHERE RIND3 = 'X'.
LOOP AT EXCINV.
MOVE-CORRESPONDING EXCINV TO ASSIGNED_EXCINV.
APPEND ASSIGNED_EXCINV.
CLEAR ASSIGNED_EXCINV.
ENDLOOP.
IF TOTAL_LRG23D < XLIPS-LFIMG.
MESSAGE E000 WITH 'Not enough balance in RG23D ......'.
ENDIF.
Collect all allocated excise invoices to crg23d table
LOOP AT EXCINV.
PERFORM FILL_CRG23D.
APPEND CRG23D.
ENDLOOP.
ENDLOOP.
ENDFORM. " RG23D_SELECTION
*& Form SAVE_DOCUMENT
text *
--> p1 text
<-- p2 text
FORM SAVE_DOCUMENT.
PERFORM PREPARE_RG23D_DATA.
Generate RG23D serial number and Excise Invoice Serial Number
IF J1IJ300-RG23D_SERIALNO = 'Y'.
PERFORM GENERATE_RG23D_SERIAL ON COMMIT.
ENDIF.
PERFORM GENERATE_EXCISE_INV_SERIAL ON COMMIT.
CALL FUNCTION 'J_1I7_USEREXIT_DEPOT_BEF_SAVE'
TABLES
RG23D = Z_1IRG23D
EXCEPTIONS
OTHERS = 1.
PERFORM UPDATE_RG23D ON COMMIT.
PERFORM UPDATE_EXCDTL ON COMMIT.
COMMIT WORK.
PERFORM LOCK_UNLOCK_PLANT_MATERIAL USING UNLOCKED.
PERFORM UNLOCKING.
MESSAGE S333 WITH DELIVERY.
ENDFORM. " SAVE_DOCUMENT
*& Form PREPARE_RG23D_DATA
text *
--> p1 text
<-- p2 text
FORM PREPARE_RG23D_DATA.
REFRESH Z_1IRG23D.
LOOP AT CRG23D WHERE MENGE <> 0.
CLEAR Z_1IRG23D.
Z_1IRG23D = CRG23D.
Z_1IRG23D-USNAM = SY-UNAME.
Z_1IRG23D-CPUDT = SY-DATUM.
Z_1IRG23D-EXGRP = EXCGROUP.
Z_1IRG23D-SRGRP = SERGROUP.
APPEND Z_1IRG23D.
IF CRG23D-ADDAED <> 0 OR CRG23D-ADDSED <> 0 OR CRG23D-ADDAED <> 0 .
additional excise is applicable
make quantity zero for A certificate entries
CLEAR : Z_1IRG23D-MENGE.
get all the A certificates for the excise document item
SELECT * FROM J_1IEXCDTL
TODO : add the transaction type to the selection procedure
WHERE RDOC1 = CRG23D-DOCNO
AND RYEAR1 = CRG23D-DOCYR
AND RITEM1 = CRG23D-ZEILE
AND RIND1 = 'G'.
get the A certificate number
SELECT SINGLE
EXNUM EXYEAR INTO (Z_1IRG23D-EXNUM, Z_1IRG23D-EXYEAR)
FROM J_1IEXCHDR
WHERE TRNTYP = J_1IEXCDTL-TRNTYP
AND DOCYR = J_1IEXCDTL-DOCYR
AND DOCNO = J_1IEXCDTL-DOCNO.
Z_1IRG23D-TRNTYP = J_1IEXCDTL-TRNTYP.
Z_1IRG23D-DOCYR = J_1IEXCDTL-DOCYR.
Z_1IRG23D-DOCNO = J_1IEXCDTL-DOCNO.
Z_1IRG23D-ZEILE = J_1IEXCDTL-ZEILE.
Z_1IRG23D-EXBED = ( J_1IEXCDTL-EXBED * CRG23D-MENGE )
/ CRG23D-MENGA.
Z_1IRG23D-EXSED = ( J_1IEXCDTL-EXSED * CRG23D-MENGE )
/ CRG23D-MENGA.
Z_1IRG23D-EXAED = ( J_1IEXCDTL-EXAED * CRG23D-MENGE )
/ CRG23D-MENGA.
Z_1IRG23D-RG23ASER = J_1IEXCDTL-RG23ASER.
Z_1IRG23D-RG23CSER = J_1IEXCDTL-RG23CSER.
Z_1IRG23D-RGPLASER = J_1IEXCDTL-RGPLASER.
APPEND Z_1IRG23D.
ENDSELECT.
ENDIF.
ENDLOOP.
ENDFORM. " PREPARE_RG23D_DATA
*& Form UPDATE_RG23D
text *
--> p1 text
<-- p2 text
FORM UPDATE_RG23D.
*update the rg23d register
INSERT J_1IRG23D FROM TABLE Z_1IRG23D ACCEPTING DUPLICATE KEYS.
IF SY-SUBRC <> 0.
MESSAGE A308 WITH 'J_1IRG23D'.
ENDIF.
ENDFORM. " UPDATE_RG23D
*& Form UPDATE_EXCDTL
text *
--> p1 text
<-- p2 text
FORM UPDATE_EXCDTL.
LOOP AT CRG23D WHERE MENGE <> 0.
update the remaining quantity in the excise invoice item tables
UPDATE J_1IEXCDTL
SET MENGR = MENGR - CRG23D-MENGE
AENAM = SY-UNAME
AEDAT = SY-DATUM
WHERE TRNTYP = 'GRPO'
AND DOCYR = CRG23D-DOCYR
AND DOCNO = CRG23D-DOCNO
AND ZEILE = CRG23D-ZEILE.
IF SY-SUBRC <> 0.
MESSAGE A308 WITH 'J_1IRG23D'.
ENDIF.
ENDLOOP.
ENDFORM. " UPDATE_EXCDTL
*& Form FILL_CRG23D
text *
--> p1 text
<-- p2 text
FORM FILL_CRG23D.
CRG23D-TRNTYP = EXCINV-TRNTYP.
CRG23D-DOCYR = EXCINV-DOCYR.
CRG23D-DOCNO = EXCINV-DOCNO.
CRG23D-ZEILE = EXCINV-ZEILE.
CRG23D-VBELN = XLIPS-VBELN.
CRG23D-POSNR = XLIPS-POSNR.
CRG23D-EXNUM = EXCINV-EXNUM.
CRG23D-EXYEAR = EXCINV-EXYEAR.
CRG23D-LIFNR = EXCINV-LIFNR.
CRG23D-MATNR = EXCINV-MATNR.
CRG23D-MAKTX = EXCINV-MAKTX.
CRG23D-CHAPID = EXCINV-CHAPID.
CRG23D-MEINS = EXCINV-MENGR_UOM.
CRG23D-WERKS = EXCINV-WERKS.
CRG23D-EXCUR = EXCINV-EXCUR.
CRG23D-RG23ASER = EXCINV-RG23ASER.
CRG23D-RG23CSER = EXCINV-RG23CSER.
CRG23D-RGPLASER = EXCINV-RGPLASER.
CRG23D-MENGR = EXCINV-MENGR.
CRG23D-MENGA = EXCINV-MENGA.
CRG23D-MENGE = EXCINV-MENGR. " Move the allocated Qty
CRG23D-EXBED = ( EXCINV-EXBED * CRG23D-MENGE ) / EXCINV-MENGA.
CRG23D-EXSED = ( EXCINV-EXSED * CRG23D-MENGE ) / EXCINV-MENGA.
CRG23D-EXAED = ( EXCINV-EXAED * CRG23D-MENGE ) / EXCINV-MENGA.
ENDFORM. " FILL_CRG23D
*& Form UPDATE_DOCUMENT
text *
--> p1 text
<-- p2 text
FORM UPDATE_DOCUMENT.
LOOP AT XLIPS.
UPDATE J_1IRG23D SET STATUS = 'P'
WHERE VBELN = XLIPS-VBELN
AND POSNR = XLIPS-POSNR.
ENDLOOP.
COMMIT WORK.
ENDFORM. " UPDATE_DOCUMENT
*& Form DELIVERY_START_USER_EXIT
text *
--> p1 text
<-- p2 text
FORM DELIVERY_START_USER_EXIT.
CALL FUNCTION 'J_1I7_USEREXIT_EXGRP_DETERM'
EXPORTING
EXCGRP = EXCGROUP
MBLNR =
MJAHR =
VENDOR =
VBELN = DELIVERY
IMPORTING
EXCGRP = EXCGROUP
SHIPFROM_IND = J1IJ300-SHIPFROM_IND
RG23D_SERIALNO = J1IJ300-RG23D_SERIALNO
EXCEPTIONS
OTHERS = 1.
CALL FUNCTION 'J_1I7_USEREXIT_SERGRP_DETERM'
EXPORTING
SRGRP = SERGROUP
MBLNR =
MJAHR =
VBELN = DELIVERY
IMPORTING
SRGRP = SERGROUP
EXCEPTIONS
OTHERS = 1.
ENDFORM. " DELIVERY_START_USER_EXIT
*& Form GENERATE_RG23D_SERIAL
text *
--> p1 text
<-- p2 text
FORM GENERATE_RG23D_SERIAL.
LOOP AT Z_1IRG23D WHERE MENGE <> 0.
CLEAR: FOLIO, SERIALNO.
SELECT MAX( FOLIO ) MAX( SERIALNO )
INTO (Z_1IRG23D-FOLIO, Z_1IRG23D-SERIALNO)
FROM J_1IRG23D
WHERE TRNTYP = Z_1IRG23D-TRNTYP
AND DOCNO = Z_1IRG23D-DOCNO
AND DOCYR = Z_1IRG23D-DOCYR
AND ZEILE = Z_1IRG23D-ZEILE.
MODIFY Z_1IRG23D.
ENDLOOP.
ENDFORM. " GENERATE_RG23D_SERIAL
*& Form GENERATE_EXCISE_INV_SERIAL
text *
--> p1 text
<-- p2 text
FORM GENERATE_EXCISE_INV_SERIAL.
CLEAR: DEPEXNUM, DEPEXYEAR.
CALL FUNCTION 'J_1I6_DETERMINE_EXC_YEAR'
EXPORTING
I_BUKRS = J1IJ300-BUKRS
IMPORTING
EXCISE_YEAR = DEPEXYEAR
EXCEPTIONS
MISS_COMPANY = 1
OTHERS = 2.
IF SY-SUBRC NE 0.
MESSAGE E526 WITH 'Company ' J1IJ300-BUKRS.
ENDIF.
CALL FUNCTION 'NUMBER_GET_NEXT'
EXPORTING
NR_RANGE_NR = '01'
OBJECT = 'J_1IDEPINV'
QUANTITY = '1'
SUBOBJECT = SERGROUP
TOYEAR = DEPEXYEAR
IMPORTING
NUMBER = DEPEXNUM
EXCEPTIONS
INTERVAL_NOT_FOUND = 1
NUMBER_RANGE_NOT_INTERN = 2
OBJECT_NOT_FOUND = 3
QUANTITY_IS_0 = 4
QUANTITY_IS_NOT_1 = 5
INTERVAL_OVERFLOW = 6
OTHERS = 7.
CASE SY-SUBRC.
WHEN 0.
WHEN 1.
MESSAGE A336 WITH 'internal document' ': Interval not found'
'. Number object : J_1IDEPINV'.
WHEN 3.
MESSAGE A336 WITH 'internal document' ': Object not found'
'. Number object : J_1IDEPINV'.
WHEN OTHERS.
MESSAGE A336 WITH 'internal document'
'. Number object : J_1IDEPINV'.
ENDCASE.
Update Depot Excise Invoice Year and Number in the table
LOOP AT Z_1IRG23D.
Z_1IRG23D-SERIALNO = Z_1IRG23D-SERIALNO + 1.
Z_1IRG23D-DEPEXYEAR = DEPEXYEAR.
Z_1IRG23D-DEPEXNUM = DEPEXNUM.
MODIFY Z_1IRG23D.
ENDLOOP.
ENDFORM. " GENERATE_EXCISE_INV_SERIAL
*& Form UNLOCKING
text
--> p1 text
<-- p2 text
FORM UNLOCKING.
LOOP AT LOCKTAB.
CALL FUNCTION 'DEQUEUE_EJ_1IEXDTL'
EXPORTING
MODE_J_1IEXCDTL = 'S'
MANDT = SY-MANDT
TRNTYP = LOCKTAB-TRNTYP
DOCYR = LOCKTAB-DOCYR
DOCNO = LOCKTAB-DOCNO
ZEILE = LOCKTAB-ZEILE.
ENDLOOP.
ENDFORM. " UNLOCKING -
Document number not updating in the document
hi gurus,
this is a excise invoice voucher form used by the client .
some values are not updated in document no.
could someone tell me why it is not updating.
if there are any corrections in code pls update me and solve my problem.
urs
pradeep.r
*& Include ZFI_PAY_ADVICE_F01_STR_2 *
*& Form select_data
text
--> p1 text
<-- p2 text
FORM SELECT_DATA .
REFRESH IT_BKPF.
CLEAR IT_BKPF.
SELECT BELNR GJAHR XBLNR BLDAT BLART INTO CORRESPONDING FIELDS OF
TABLE IT_BKPF FROM BKPF
WHERE BELNR IN S_BELNR
AND GJAHR IN S_GJAHR
AND BUKRS IN S_BUKRS.
IF IT_BKPF[] IS INITIAL.
MESSAGE S001.
ENDIF.
SORT IT_BKPF BY BELNR GJAHR.
LOOP AT IT_BKPF.
SELECT SINGLE EBELN WRBTR WERKS LIFNR KUNNR INTO
(IT_BKPF-ZUONR,IT_BKPF-WRBTR,IT_BKPF-WERKS,IT_BKPF-LIFNR,IT_BKPF-KUNNR)
FROM BSEG
WHERE BELNR = IT_BKPF-BELNR
AND GJAHR = IT_BKPF-GJAHR
AND BUKRS IN S_BUKRS
AND KOART = 'K'.
IF NOT IT_BKPF-LIFNR IS INITIAL.
DATA : WRK_ADRNR LIKE LFA1-ADRNR.
CLEAR WRK_ADRNR.
SELECT SINGLE ADRNR INTO WRK_ADRNR FROM LFA1
WHERE LIFNR = IT_BKPF-LIFNR.
SELECT SINGLE NAME1
NAME2
NAME3
NAME4
CITY1
REGION
COUNTRY
STREET
INTO (IT_BKPF-NAME1,IT_BKPF-NAME2,IT_BKPF-NAME3,IT_BKPF-NAME4,
IT_BKPF-CITY1,IT_BKPF-REGION,IT_BKPF-COUNTRY,IT_BKPF-STREET)
FROM ADRC
WHERE ADDRNUMBER EQ WRK_ADRNR.
Text for Country
SELECT SINGLE LANDX INTO IT_BKPF-LANDX FROM T005T
WHERE LAND1 = IT_BKPF-COUNTRY
AND SPRAS EQ SY-LANGU.
Text for Region
SELECT SINGLE BEZEI INTO IT_BKPF-BEZEI FROM T005U
WHERE BLAND = IT_BKPF-REGION
AND SPRAS EQ SY-LANGU
AND LAND1 = IT_BKPF-COUNTRY.
ENDIF.
IF NOT IT_BKPF-KUNNR IS INITIAL.
CLEAR WRK_ADRNR.
SELECT SINGLE ADRNR INTO (WRK_ADRNR) FROM KNA1
WHERE KUNNR = IT_BKPF-KUNNR.
SELECT SINGLE NAME1
NAME2
NAME3
NAME4
CITY1
REGION
COUNTRY
STREET
INTO (IT_BKPF-NAME1,IT_BKPF-NAME2,IT_BKPF-NAME3,IT_BKPF-NAME4,
IT_BKPF-CITY1,IT_BKPF-REGION,IT_BKPF-COUNTRY,IT_BKPF-STREET)
FROM ADRC
WHERE ADDRNUMBER EQ WRK_ADRNR.
Text for Country
SELECT SINGLE LANDX INTO IT_BKPF-LANDX FROM T005T
WHERE LAND1 = IT_BKPF-COUNTRY
AND SPRAS EQ SY-LANGU.
Text for Region
SELECT SINGLE BEZEI INTO IT_BKPF-BEZEI FROM T005U
WHERE BLAND = IT_BKPF-REGION
AND SPRAS EQ SY-LANGU
AND LAND1 = IT_BKPF-COUNTRY.
ENDIF.
MODIFY IT_BKPF.
ENDLOOP.
REFRESH IT_DATA.
CLEAR IT_DATA.
LOOP AT IT_BKPF.
DATA : WRK_BSAKBELNR LIKE BSAK-BELNR.
CLEAR WRK_BSAKBELNR.
SELECT SINGLE BELNR INTO WRK_BSAKBELNR FROM BSAK
WHERE AUGBL = IT_BKPF-BELNR
AND GJAHR = IT_BKPF-GJAHR
AND BUKRS IN S_BUKRS.
Advance
IF WRK_BSAKBELNR IS INITIAL.
IT_DATA-VBELNR = IT_BKPF-BELNR.
IT_DATA-BELNR = IT_BKPF-BELNR.
IT_DATA-GJAHR = IT_BKPF-GJAHR.
IT_DATA-XBLNR = IT_BKPF-XBLNR.
IT_DATA-BLDAT = IT_BKPF-BLDAT.
IT_DATA-BLART = IT_BKPF-BLART.
IT_DATA-ZUONR = IT_BKPF-ZUONR.
IT_DATA-WRBTR = IT_BKPF-WRBTR.
IT_DATA-WRBTRC = IT_DATA-WRBTR.
APPEND IT_DATA.
IT_DATA-VBELNR = IT_BKPF-BELNR.
IT_DATA-BELNR = ' '.
IT_DATA-GJAHR = ' '.
IT_DATA-BLDAT = ' '.
IT_DATA-BLART = ' '.
IT_DATA-ZUONR = ' '.
TDS
DATA : WRK_TDSWRBTR LIKE BSIS-WRBTR.
CLEAR WRK_TDSWRBTR.
SELECT SUM( WRBTR ) INTO WRK_TDSWRBTR FROM BSIS
WHERE BELNR = IT_BKPF-BELNR
AND GJAHR = IT_BKPF-GJAHR
AND BUKRS IN S_BUKRS
AND QSSKZ NE SPACE
AND QSSKZ NE 'XX'
AND XREF3 NE SPACE
AND QSSKZ NE 'S1'
AND QSSKZ NE 'S2'.
IF WRK_TDSWRBTR IS INITIAL.
SELECT SUM( WRBTR ) INTO WRK_TDSWRBTR FROM BSAS
WHERE BELNR = IT_BKPF-BELNR
AND GJAHR = IT_BKPF-GJAHR
AND QSSKZ NE SPACE
AND QSSKZ NE 'XX'
AND XREF3 NE SPACE
AND BUKRS IN S_BUKRS
AND QSSKZ NE 'S1'
AND QSSKZ NE 'S2'.
ENDIF.
DATA : WRK_BSCHL LIKE BSIS-BSCHL.
CLEAR WRK_BSCHL.
IF NOT WRK_TDSWRBTR IS INITIAL.
IT_DATA-XBLNR = 'TDS/ECess'.
IT_DATA-WRBTR = WRK_TDSWRBTR.
SELECT SINGLE BSCHL INTO WRK_BSCHL FROM BSIS
WHERE BELNR = IT_BKPF-BELNR
AND GJAHR = IT_BKPF-GJAHR
AND QSSKZ NE SPACE
AND BUKRS IN S_BUKRS
AND QSSKZ NE 'XX'
AND XREF3 NE SPACE
AND QSSKZ NE 'S1'
AND QSSKZ NE 'S2'
AND BSCHL = '40'.
IF WRK_BSCHL IS INITIAL.
SELECT SINGLE BSCHL INTO WRK_BSCHL FROM BSAS
WHERE BELNR = IT_BKPF-BELNR
AND GJAHR = IT_BKPF-GJAHR
AND QSSKZ NE SPACE
AND QSSKZ NE 'XX'
AND XREF3 NE SPACE
AND BUKRS IN S_BUKRS
AND QSSKZ NE 'S1'
AND QSSKZ NE 'S2'
AND BSCHL = '40'.
ENDIF.
IF WRK_BSCHL IS INITIAL.
IT_DATA-WRBTR = IT_DATA-WRBTR * - 1.
ENDIF.
IT_DATA-WRBTRC = IT_DATA-WRBTR.
APPEND IT_DATA.
ENDIF.
IT_DATA-VBELNR = IT_BKPF-BELNR.
IT_DATA-BELNR = ' '.
IT_DATA-GJAHR = ' '.
IT_DATA-BLDAT = ' '.
IT_DATA-BLART = ' '.
IT_DATA-ZUONR = ' '.
Discount
DATA : WRK_DEDWRBTR LIKE BSIS-WRBTR.
CLEAR WRK_DEDWRBTR.
SELECT SUM( WRBTR ) INTO WRK_DEDWRBTR FROM BSIS
WHERE BELNR = IT_BKPF-BELNR
AND GJAHR = IT_BKPF-GJAHR
AND QSSKZ EQ SPACE
AND BUKRS IN S_BUKRS
AND BSCHL NE '50'.
IF NOT WRK_DEDWRBTR IS INITIAL.
SELECT SUM( WRBTR ) INTO WRK_DEDWRBTR FROM BSAS
WHERE BELNR = IT_BKPF-BELNR
AND GJAHR = IT_BKPF-GJAHR
AND QSSKZ EQ SPACE
AND BUKRS IN S_BUKRS
AND BSCHL NE '50'.
ENDIF.
IF NOT WRK_DEDWRBTR IS INITIAL.
IT_DATA-XBLNR = 'Discount'.
IT_DATA-WRBTR = WRK_DEDWRBTR.
IT_DATA-WRBTR = IT_DATA-WRBTR * - 1.
IT_DATA-WRBTRC = IT_DATA-WRBTR.
APPEND IT_DATA.
ENDIF.
Invoice
ELSE.
REFRESH IT_BELNR.
CLEAR IT_BELNR.
DATA : W_YEAR(4),
W_MONTH(2) VALUE '04',
W_DATE(2) VALUE '01',
W_YEAR1(8).
W_YEAR = S_GJAHR-LOW.
CONCATENATE W_YEAR W_MONTH W_DATE INTO W_YEAR1.
SELECT BELNR GJAHR XBLNR BLDAT BLART ZUONR WRBTR BSCHL INTO
TABLE IT_BELNR FROM BSAK
WHERE AUGBL = IT_BKPF-BELNR
AND AUGDT GE W_YEAR1
AND GJAHR = IT_BKPF-GJAHR
AND BELNR NE IT_BKPF-BELNR
AND BUKRS IN S_BUKRS.
SORT IT_BELNR BY BELNR GJAHR.
LOOP AT IT_BELNR.
CLEAR WRK_TDSWRBTR.
SELECT SUM( WRBTR ) INTO WRK_TDSWRBTR FROM BSIS
WHERE BELNR = IT_BELNR-BELNR
AND GJAHR = IT_BELNR-GJAHR
AND QSSKZ NE SPACE
AND BUKRS IN S_BUKRS
AND QSSKZ NE 'XX'.
IF WRK_TDSWRBTR IS INITIAL.
SELECT SUM( WRBTR ) INTO WRK_TDSWRBTR FROM BSAS
WHERE BELNR = IT_BELNR-BELNR
AND GJAHR = IT_BELNR-GJAHR
AND QSSKZ NE SPACE
AND BUKRS IN S_BUKRS
AND QSSKZ NE 'XX'.
ENDIF.
IT_DATA-VBELNR = IT_BKPF-BELNR.
IT_DATA-BELNR = IT_BELNR-BELNR.
IT_DATA-GJAHR = IT_BELNR-GJAHR.
IT_DATA-XBLNR = IT_BELNR-XBLNR.
IT_DATA-BLDAT = IT_BELNR-BLDAT.
IT_DATA-BLART = IT_BELNR-BLART.
IT_DATA-ZUONR = IT_BELNR-ZUONR.
IT_DATA-WRBTR = IT_BELNR-WRBTR + WRK_TDSWRBTR .
IF IT_BELNR-BSCHL GE '31' AND IT_BELNR-BSCHL LE '39'.
IT_DATA-WRBTRC = IT_DATA-WRBTR.
ELSE.
IF IT_BELNR-BSCHL GE '21' AND IT_BELNR-BSCHL LE '29'.
IT_DATA-WRBTRC = IT_DATA-WRBTR * - 1.
ENDIF.
ENDIF.
APPEND IT_DATA.
IT_DATA-VBELNR = IT_BKPF-BELNR.
IT_DATA-BELNR = ' '.
IT_DATA-GJAHR = ' '.
IT_DATA-BLDAT = ' '.
IT_DATA-BLART = ' '.
IT_DATA-ZUONR = ' '.
TDSBELNR
IF NOT WRK_TDSWRBTR IS INITIAL.
IT_DATA-XBLNR = 'TDS/ECess'.
IT_DATA-WRBTR = WRK_TDSWRBTR.
CLEAR WRK_BSCHL.
IF NOT WRK_TDSWRBTR IS INITIAL.
IT_DATA-XBLNR = 'TDS/ECess'.
IT_DATA-WRBTR = WRK_TDSWRBTR.
SELECT SINGLE BSCHL INTO WRK_BSCHL FROM BSIS
WHERE BELNR = IT_BELNR-BELNR
AND GJAHR = IT_BELNR-GJAHR
AND QSSKZ NE SPACE
AND QSSKZ NE 'XX'
AND BSCHL = '40'.
IF WRK_BSCHL IS INITIAL.
SELECT SINGLE BSCHL INTO WRK_BSCHL FROM BSAS
WHERE BELNR = IT_BELNR-BELNR
AND GJAHR = IT_BELNR-GJAHR
AND QSSKZ NE SPACE
AND QSSKZ NE 'XX'
AND BSCHL = '40'.
ENDIF.
IF WRK_BSCHL IS INITIAL.
IT_DATA-WRBTR = IT_DATA-WRBTR * - 1.
ENDIF.
IT_DATA-WRBTRC = IT_DATA-WRBTR.
APPEND IT_DATA.
ENDIF.
ENDIF.
ENDLOOP.
IT_DATA-VBELNR = IT_BKPF-BELNR.
IT_DATA-BELNR = ' '.
IT_DATA-GJAHR = ' '.
IT_DATA-BLDAT = ' '.
IT_DATA-BLART = ' '.
IT_DATA-ZUONR = ' '.
TDSVBELNR
CLEAR WRK_TDSWRBTR.
SELECT SUM( WRBTR ) INTO WRK_TDSWRBTR FROM BSIS
WHERE BELNR = IT_BKPF-BELNR
AND GJAHR = IT_BKPF-GJAHR
AND QSSKZ NE SPACE
AND BUKRS IN S_BUKRS
AND QSSKZ NE 'XX'
AND QSSKZ NE 'S1'
AND QSSKZ NE 'S2'.
IF WRK_TDSWRBTR IS INITIAL.
SELECT SUM( WRBTR ) INTO WRK_TDSWRBTR FROM BSAS
WHERE BELNR = IT_BKPF-BELNR
AND GJAHR = IT_BKPF-GJAHR
AND QSSKZ NE SPACE
AND QSSKZ NE 'XX'
AND AUGBL = SPACE
AND BUKRS IN S_BUKRS
AND QSSKZ NE 'S1'
AND QSSKZ NE 'S2'.
ENDIF.
**INSERTED BY PALANI ON 01.04.2006
IF WRK_TDSWRBTR IS INITIAL.
SELECT SUM( WRBTR ) INTO WRK_TDSWRBTR FROM BSIS
WHERE BELNR = IT_BKPF-BELNR
AND GJAHR = IT_BKPF-GJAHR.
ENDIF.
***END BY PALANI.
IF NOT WRK_TDSWRBTR IS INITIAL.
IT_DATA-XBLNR = 'TDS/ECess'.
IT_DATA-WRBTR = WRK_TDSWRBTR.
IT_DATA-WRBTR = IT_DATA-WRBTR * - 1.
IT_DATA-WRBTRC = IT_DATA-WRBTR.
APPEND IT_DATA.
ENDIF.
IT_DATA-VBELNR = IT_BKPF-BELNR.
IT_DATA-BELNR = ' '.
IT_DATA-GJAHR = ' '.
IT_DATA-BLDAT = ' '.
IT_DATA-BLART = ' '.
IT_DATA-ZUONR = ' '.
*DiscountVBELNR
CLEAR WRK_DEDWRBTR.
SELECT SUM( WSKTO ) INTO WRK_DEDWRBTR FROM BSE_CLR
WHERE BELNR_CLR = IT_BKPF-BELNR
AND GJAHR_CLR = IT_BKPF-GJAHR
AND BUKRS IN S_BUKRS.
IF NOT WRK_DEDWRBTR IS INITIAL.
IT_DATA-XBLNR = 'Discount'.
IT_DATA-WRBTR = WRK_DEDWRBTR.
IT_DATA-WRBTR = IT_DATA-WRBTR * - 1.
IT_DATA-WRBTRC = IT_DATA-WRBTR.
APPEND IT_DATA.
ENDIF.
ENDIF.
ENDLOOP.
LOOP AT IT_BKPF.
SELECT SINGLE BUTXT ORT01 LAND1 INTO (IT_DATA-BUTXT,IT_DATA-ORT01,IT_DATA-LAND1)
FROM T001
WHERE BUKRS IN S_BUKRS.
MODIFY IT_DATA INDEX SY-TABIX.
*ENDLOOP.
ENDFORM. " select_data
*& Form print_data
text
--> p1 text
<-- p2 text
FORM PRINT_DATA .
PERFORM OPEN_FORM.
PERFORM WRITE_FORM.
PERFORM CLOSE_FORM.
LEAVE LIST-PROCESSING.
ENDFORM. " print_data
*& Form open_form
text
--> p1 text
<-- p2 text
FORM OPEN_FORM .
CALL FUNCTION 'OPEN_FORM'
EXPORTING
FORM = 'ZFI_PAY_ADV_MODN'
LANGUAGE = SY-LANGU.
ENDFORM. " open_form
*& Form write_form
text
--> p1 text
<-- p2 text
FORM WRITE_FORM .
LOOP AT IT_BKPF.
IF SY-TABIX GT 1.
AT NEW BELNR.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'NEW'
WINDOW = 'MAIN'.
ENDAT.
ENDIF.
LOOP AT IT_DATA WHERE VBELNR = IT_BKPF-BELNR.
DATA : BEGIN OF IT_HKONT OCCURS 0,
HKONT LIKE BSIS-HKONT,
WRBTR LIKE BSIS-WRBTR,
END OF IT_HKONT.
REFRESH IT_HKONT.
CLEAR IT_HKONT.
SELECT HKONT WRBTR INTO TABLE IT_HKONT FROM BSIS
WHERE BELNR = IT_BKPF-BELNR
AND GJAHR = IT_BKPF-GJAHR.
DELETE IT_HKONT WHERE HKONT(3) NE '005'.
IF NOT IT_HKONT[] IS INITIAL.
LOOP AT IT_HKONT.
IT_DATA-TOTAL = IT_DATA-TOTAL + IT_HKONT-WRBTR.
MODIFY IT_DATA.
ENDLOOP.
ELSE.
IT_DATA-TOTAL = IT_DATA-TOTAL + IT_DATA-WRBTR.
MODIFY IT_DATA.
ENDIF.
ENDLOOP.
LOOP AT IT_DATA WHERE VBELNR = IT_BKPF-BELNR.
IF IT_DATA-BLART EQ ''. " for invoice Date
IT_DATA-BLDAT = IT_BKPF-BLDAT.
ENDIF.
IT_DATA-LIFNR = IT_BKPF-LIFNR.
IT_DATA-KUNNR = IT_BKPF-KUNNR.
IT_DATA-NAME1 = IT_BKPF-NAME1.
IT_DATA-NAME2 = IT_BKPF-NAME2.
IT_DATA-NAME3 = IT_BKPF-NAME3.
IT_DATA-NAME4 = IT_BKPF-NAME4.
IT_DATA-CITY1 = IT_BKPF-CITY1.
IT_DATA-REGION = IT_BKPF-REGION.
IT_DATA-COUNTRY = IT_BKPF-COUNTRY.
IT_DATA-STREET = IT_BKPF-STREET.
IT_DATA-LANDX = IT_BKPF-LANDX.
IT_DATA-BEZEI = IT_BKPF-BEZEI.
CLEAR : WRK_HBKID , WRK_BANKL.
SELECT SINGLE CHECT ZALDT HBKID INTO
(IT_DATA-CHECT , IT_DATA-ZALDT , WRK_HBKID)
FROM PAYR
WHERE VBLNR = IT_BKPF-BELNR
AND GJAHR = IT_BKPF-GJAHR
AND VOIDR = '00'.
SELECT SINGLE BANKL INTO WRK_BANKL
FROM T012
WHERE HBKID = WRK_HBKID.
AND spras EQ 'EN'.
SELECT SINGLE BANKA INTO IT_DATA-BANKA
FROM BNKA
WHERE BANKL = WRK_BANKL.
MODIFY IT_DATA.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'ITEMS'
WINDOW = 'MAIN'.
ENDLOOP.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'TOTAL'
WINDOW = 'MAIN'.
ENDLOOP.
ENDFORM. " write_form
*& Form close_form
text
--> p1 text
<-- p2 text
FORM CLOSE_FORM .
CALL FUNCTION 'CLOSE_FORM' .
ENDFORM. " close_formHi
Could you tell us what fields are not updated?
Regards,
Raj -
Serial Number not updating in the system
Hi Frnds
My client is in to retail and has most of the materials under variant configuration. The materials are sold with serial numbers so that they can be tracked and returns/maintenance can be accounted for. The customer is also given discount if he buys that material again using the serial number as reference and the dependency written for that material updates the old purchase qty(old factor) when new purchase qty(new factor) is added to it.
Since the serial number can only be referenced once the goods has been posted and billing has been done. The factors get updated in the system, the factors were updating correctly for the past 2+yrs but since the last couple of months the updating of serial number old factor is screwed. It is not updating for some serial numbers.
Any bright ideas what may be the issue. I have searched every nook and corner but could not trace the cause. Is it possible that a particular serial number can update for a certain number or memory or something???Sorry, but the problem is not solved: it shows the same, 10 numbers and three points.
Seeing the espana2004 message, maybe it is related to the use of a proportional font? All the characters in my Pre's serial number are wide.
This number is needed to download WebOS Doctor. I've had to put my phone in developer mode, connect through novaterm and do a 'lunaprop com.palm.properties.PalmSN' in order to obtain the number. Is there an easier way to get it?
Regards. -
PO Number not updated in Follow on documents tab
Hello,
We are on SRM_SERVER 550, SP07. SAP 4.7 backend.
We recently did the unicode upgrade on the SAP and SRM systems. Since then we are having a problem:
The SC is approved and PO is created in backend.
The Follow on documents tab shows--> Follow on documents created, but does not show the PO number.
The SC line item still has the "Sourcing relevant indicator" and the item appears in sourcing. The selection check box is deactivated.
Inspite of running BBP_GET_STATUS_2 and CLEAN_REQREQ_UP, the status doesnt change.
The spool of BBP_GET_STATUS_2 shows the message
"More than one reference to a purchase requisition is not expected"
Has anyone else also had a similar issue after unicode upgrade of SAP Systems? Please let me know if there is a solution to this.
Regards,
SrivatsanHi
Please go through the useful links ->
SAP Note 486379 Several order items for the same PReq item
SAP Note 565099 New BAPIs for the purchase requisition object (BUS2105)
Re: Material purchase requisition
More than one Follow On documents for a single shopping cart
backend exit in Purchase Requisition creation from SC in SRM
Re: SRM ( EBP) creating Purchase Requisition instead of Purchase Order
Re: SRM ( EBP) creating Purchase Requisition instead of Purchase Order
Purchase Requisition in Backend in ECS
Hope this answer all your queries. Do let me know.
Regards
- Atul -
Check number not getting updated in vendor line items
Hi
I am giving check to vendor. Hence i am assigning manual checks in FCH5. Then i did FCHU. After i did FCHU, my check number got updated in assignment field in bank line item. But i am getting problem for vendor line item.
My vendor line item is not updated with check number. Hence i am unable to see what check number is issued against which payment document. I do not want to go in each every document and then click on environment and check information.
I tried with check register also, but i am not getting vendor wise bank details smoothly.
So i want to know how can i get check number in FBL1N vendor-wise. Is there any standard report?You should activate the PAYR-CHECF in FBL1N report. Execute FBL1N report for a vendor and go to Menu->Settings-> Special Fields. A new screen would open. There add the table PAYR and field CHECF. Save and exit out. Now the check number should be displayed in FBL1N report.
Thanks,
SD. -
Cheque numbers are not completely updated for all payment document
Hi,
In the Automatic Payment Program, system is not able to update cheque
numbers for some of the payment documents which were generated in one
APP run. This issue, we are facing only in Production Server. APP
The extraction of Payment details are not possible if the cheque has been
generated manually. Hence we want the system should update the cheque
numbers automatically without skipping some of the documents.
Please look into the issue and revert us.
Thanks,
Malathi Reddy.hai,
Goto FCHU and give the doucment number and check number. then sytem will post the cheque number to that document in assignment filed. This will solve your problem.
FCHU is also one of the process to be done by the user.
award points.
govind. -
Operation number field not appearing in the billing document
Team-
Recently we have done EHP5 upgrade and after that operation number field is available in the sales document but operation number field is not available in the billing document. Any idea why ?
ThanksHi
Check what patches have been put in EHP5.As it is related to field.,its better to check the configuration settings and if everything is fine then,its better to take your technical team help by checking where the operation number field is getting updated in the sales order and check whether the operation number field is coming blank in billing document or not.
Regards
Srinath -
Documents that are park in FBV0 do not update with the new user name when
Hi,
I need to find out why documents that are park in FBV0 do not update with the new user name when any changes are made. Also when we park using MIR7 and make changes to the documents at a later time the document updates with the new users name.
Requesting you to please suggest what could be the reason.
Earliest reply will be highly appreciated,
With regards,
RjHi,
I have checked this in system. I posted one Parked invoice using T.code FV60 and there i appeared my name because i created. But after some time one of my collegue changed the reference and text field with his login i.d. But still in the invoice it is showing as my name whereas if we go to the environmnet, there in the changes we can see what are the changes done and it is appearing my collegues user i.d. But in the main invoice it is still appearing my name.
Regards,
Rj. -
Encountered error while updating the payment document
Hi Guys,
I encountered an error while updating the payment document of one of our bank account. See below error message:
Error: Unable to lock the record. Cause: The record is being modified by another user
thanks,
gracieHi Vikas,
Repeat the changes you are trying to make one step at a time and make sure you click on update in both the series screen and the document numbers screen every time.
I've faced this issue and doing this helped.
Regards,
Hamsa -
When i connect my ipad2 to iTune, it show "iTunes could not check for an update to the carrier settings for your iPad. An unknown error occured (1651)". What should i do to solve this problem? My iTune version is 10.1.4.10 and my ipad is 4.3.5.
If you have iOS 7.1 then you must be a developer, so you should be posting in the developer forums : https://devforums.apple.com/index.jspa
-
am trying to sync my ipad with my computer and keep getting the following message: iTunes could not check for an update to the carrier settings in your ipad. an unknown error occurs (1631). what do I do??
The search bar can be very valuable...........
In using it, I found out other's have had this issue and it likely means you have a 3G iPad? If you do, go into settings and turn off cellular data, then try to update again and you should be OK........ -
How to clear the Payment Document when posting cashed checks.
AIM: To clear the payment document when the check is cashed.
I am creating a Payment Document (Doc type ZP) using fb01. Then I am creating a check against this payment using FCH5. Once check is created, I am posting cashed check using FCKR upload. FCKR is working fine and marks the check as cashed.
ISSUE: The FCKR is working correctly and the check is being marked cashed in FCHN. But if I click the Accompanying document and click on payment document, the payment is still open. Why is this? How do I clear the payment doc?
Please advice.Hi,
By using T code F-03, you can manually clear the open entries in GL account, if that GL account is open item managed in GL Master.
Thanks and Regards
Binoj M D -
I have ipad 3 iOS 7.1 last update when connect to my macbook osx 10.8.5 get the following error "iTunes could not check for an update to the carrier settings for your iPad A unkown error occurred 1651"
any help pleaseIf you have iOS 7.1 then you must be a developer, so you should be posting in the developer forums : https://devforums.apple.com/index.jspa
-
Hello,
this morning I received the following error message when the iPhone connected to iTunes: i
tunes could not check for an update to the carrier settings for your iphone. an unknown error occurred (1635)
any ideas? thxI get the same error (although in Dutch ;-)).
It also says something like (I'm translating): "Make sure your network settings are correct and your networkconnection is active or try again later." Is there a way to find out these "correct networksettings"?
I now get it for a week, eacht time I connect my iPhone to itunes...
Maybe you are looking for
-
OBIEE generated SQL differs if it's a Physical Table or Select Table...
Hi! I have some tables defined in the Physical Layer, which some are Physical Tables and others are OBIEE "views" (tables created with a Select clause). My problem is that the difference in the generated SQL for the same table, differs (as expected)
-
I just got a new i-touch. i am unable to set it up. please help
Hi All I just got a new itouch. To set it up, i downloaded the latest itunes and connected the ipod to my machine. Follwoing the instructions, i clicked on (Connect to itunes) on the ipod. The ipod got detected in itunes but i am unable to proceed. T
-
URGENT Skype issue with hacking accounts
Hello, I'm Dan, and just about an hour ago, I managed to recover my account after a 30 minute live chat. I run an online business and a lot of my work involves Skype. In other words, Skype is key to my business. All of my partners work through Skype,
-
Issue wafter deploying web application
Hi, I have deployed a war file from my local directory in my PC to Sun Java System Web Server 7.0.8 with the context uri as /SpeedTest. The issus is when I try to access the war file using http://hostname:port/SpeedTest it presents a prompt that is a
-
After the firmware was upgraded the artwork does not appear on my ipod? How do I fix this?