Hi all..very urgent..error fixing..full marks wud be given for the answers.
Hi guys..facing problem in error fixing.in bdc...prgm is in ECC 6.0..
prgm is
*& Report ZCJI_CNV_POSTGOODSRECEIPT_ALT1
REPORT ZCJI_CNV_POSTGOODSRECEIPT_ALT1.
*REPORT ZCJI_CNV_POSTGOODSRECEIPT_ALT NO STANDARD PAGE HEADING
LINE-SIZE 255.
*Program: ZCJI_CNV_POSTGOODSRECEIPT_ALT *
*Function: This program is used to carry out GR transaction MB0A for
CJI import logistics purchase orders. The objective is to
choose only those purchase orders for which billing has been
carried out already. Once GR document is posted, the status
of delivery document items is also updated.
DATE AUTHOR SCR # CHANGE DESCRIPTION
11/04/03 Ohm Reddy BRD # 90 Initial version
DEVK928402
02/25/04 Ohm Reddy In BDC session for posting Goods
DEVK929329 Receipt document, update document
date with system local date
(SYST-DATLO) rather than with
system date(SYST-DATUM)
06/23/04 Ohm Reddy Post GR only when sales order
DEVK931359 item SKU and PO item SKU matches
03/21/05 Alex Mutia 13829/DEVK934135 *
Phase II modifications: *
1. Added criteria in the selection screen; *
2. Modified record selection logic; *
3. Added fields in the Control Report; *
04/08/05 Alex Mutia 13829/DEVK934262 *
Fixed bug in processing MFRGR field; *
04/13/05 Alex Mutia 13829/DEVK934283 *
1.Fixed bug in assigning error record pointers*
to part-success part-error POs; *
2.Added SO and SO line item numbers in report;*
3.Compressed report to fit in 255 columns; *
04/27/05 Alex Mutia 13829/DEVK934384 *
1.Material documents retrieval changed from *
MSEG to EKBE for performance. *
2.Display empty ALV columns when no records *
were selected for processing; *
TYPE-POOLS: SLIS.
DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA: G_LAYOUT_ALV_SPEC TYPE SLIS_LAYOUT_ALV.
*INCLUDE ZMMCJI_CNV_POSTGR_BDC2.
INCLUDE ZCJI_CNV_PGR_DATA_ALT.
$--"DEVK934135 Begin;-$
INITIALIZATION. "DEVK934135
PERFORM INITIALIZE_VENDOR. "DEVK934135
PERFORM INITIALIZE_PRICE. "DEVK934135
$--"DEVK934135 End;---$
START-OF-SELECTION.
IF P_LIFNR IS INITIAL. "DEVK934135
PERFORM INITIALIZE_VENDOR. "DEVK934135
ENDIF. "DEVK934135
IF P_NETPR IS INITIAL. "DEVK934135
PERFORM INITIALIZE_PRICE. "DEVK934135
ENDIF. "DEVK934135
PERFORM 100_SELECT_DATA.
END-OF-SELECTION.
CHECK: g_return_code IS INITIAL. "DEVK934384
IF NOT itab[] IS INITIAL. "DEVK934384
IF G_RETURN_CODE IS INITIAL AND "DEVK934384
NOT ITAB[] IS INITIAL. "DEVK934384
PERFORM 200_PROCESS_DATA.
PERFORM 300_POST_DOCUMENTS.
PERFORM 399_RETRIEVE_DOCUMENTS.
PERFORM REORG_ITAB.
PERFORM BUILD_HEADER_CATALOG.
PERFORM FIELDCAT_INIT USING GT_FIELDCAT[].
SY_COPY = SYST.
PERFORM SHOW_TRANSACTION_ERRORS.
ELSE. "DEVK934384
PERFORM SHOW_EMPTY_LIST. "DEVK934384
ENDIF.
*& Form SELECT_DATA
FORM 100_SELECT_DATA.
PERFORM 110_SELECT_OPEN_PO_QTY.
CHECK: G_RETURN_CODE IS INITIAL.
PERFORM 120_SELECT_PO_BILLED_QTY.
ENDFORM. " 100_SELECT_DATA
*& Form 110_SELECT_OPEN_PO_QTY
FORM 110_SELECT_OPEN_PO_QTY.
$--"DEVK934135 Begin;-$
SELECT T1~VGBEL
T1~VGPOS
T1~VBELN
T1~POSNR
T1~MATNR
T1~LFIMG
T1~MFRGR
T2~LIFEX
T2~LFDAT
FROM LIPS AS T1
INNER JOIN LIKP AS T2
ON T1MANDT EQ T2MANDT AND
T1VBELN EQ T2VBELN
APPENDING CORRESPONDING FIELDS OF TABLE ITAB_LIPS
WHERE T1~MANDT EQ SY-MANDT "client is system client
AND T1~VBELN IN S_VBELN "billing doc in criteria
AND T1~VGBEL IN S_EBELN "po reference in criteria
AND T1~PSTYV EQ 'ELN' "billing item category
AND T1~WERKS EQ 'JDC1' "plant
AND T1~MFRGR NE 'C' "material freight group
AND T2~LIFNR EQ P_LIFNR. "vendor is param vendor
LOOP AT ITAB_LIPS.
ITAB_LIPS-EBELN = ITAB_LIPS-VGBEL.
ITAB_LIPS-EBELP = ITAB_LIPS-VGPOS.
ITAB_LIPS-CHARG = ITAB_LIPS-LIFEX.
ITAB_LIPS-OLDMFRGR
= ITAB_LIPS-MFRGR.
MODIFY ITAB_LIPS.
ENDLOOP.
IF ITAB_LIPS[] IS INITIAL.
MESSAGE i032(zm) WITH text-m11. "DEVK934384
G_RETURN_CODE = 'X'.
EXIT.
ENDIF.
SELECT T1~EBELN
T1~EBELP
T1~LICHA
T2~MATNR
T2~MENGE
T2~LOEKZ
T2~ELIKZ
T2~NETPR
T3~IHREZ
FROM EKET AS T1
INNER JOIN EKPO AS T2
ON T1MANDT EQ T2MANDT AND
T1EBELN EQ T2EBELN AND
T1EBELP EQ T2EBELP
INNER JOIN EKKO AS T3
ON T1MANDT EQ T3MANDT AND
T1EBELN EQ T3EBELN
APPENDING CORRESPONDING FIELDS OF TABLE ITAB
FOR ALL ENTRIES IN ITAB_LIPS
WHERE T1~MANDT EQ SY-MANDT "client is system client
AND T1~EBELN EQ ITAB_LIPS-EBELN "po# matches w/ billing
AND T3~BSART IN ('YT', 'YN'). "po type
IF ITAB[] IS INITIAL.
MESSAGE i032(zm) WITH text-m11. "DEVK934384
G_RETURN_CODE = 'X'.
EXIT.
ENDIF.
$--"DEVK934135 End;---$
delete any duplicate entries in itab table
SORT ITAB BY EBELN EBELP.
DELETE ADJACENT DUPLICATES FROM ITAB COMPARING EBELN EBELP.
LOOP AT ITAB.
ITAB-RECID = SY-TABIX.
IF NOT ITAB-IHREZ IS INITIAL.
WHILE ITAB-IHREZ+0(1) EQ ' '.
SHIFT ITAB-IHREZ.
ENDWHILE.
WHILE ITAB-IHREZ+9(1) EQ ' '.
SHIFT ITAB-IHREZ RIGHT.
ITAB-IHREZ+0(1) = '0'.
ENDWHILE.
ENDIF.
MODIFY ITAB.
ENDLOOP.
delete ITAB_LIPS entries that are not there in ITAB
LOOP AT ITAB_LIPS.
SY_COPY-TABIX = SY-TABIX.
CLEAR ITAB.
READ TABLE ITAB WITH KEY EBELN = ITAB_LIPS-EBELN
EBELP = ITAB_LIPS-EBELP BINARY SEARCH.
SY_COPY-INDEX = SY-TABIX.
IF SY-SUBRC NE 0.
DELETE ITAB_LIPS.
ELSE.
ITAB_LIPS-IHREZ = ITAB-IHREZ.
MODIFY ITAB_LIPS INDEX SY_COPY-TABIX.
ITAB-MFRGR = ITAB_LIPS-MFRGR.
ITAB-LIFEX = ITAB_LIPS-LIFEX.
ITAB-OLDMFRGR
= ITAB_LIPS-OLDMFRGR.
MODIFY ITAB INDEX SY_COPY-INDEX.
ENDIF.
ENDLOOP.
select the goods receipts documents created for the above deliveries
SELECT EBELN EBELP BELNR GJAHR
INTO TABLE ITAB_EKBE FROM EKBE
FOR ALL ENTRIES IN ITAB_LIPS
WHERE EBELN = ITAB_LIPS-EBELN
AND EBELP = ITAB_LIPS-EBELP.
select Goods receipt data from MSEG table for the above deliveries
IF NOT ITAB_EKBE[] IS INITIAL.
SELECT EBELN EBELP CHARG BWART MENGE MBLNR MJAHR ZEILE
INTO TABLE ITAB_MSEG FROM MSEG
FOR ALL ENTRIES IN ITAB_EKBE
WHERE MBLNR = ITAB_EKBE-BELNR
AND MJAHR = ITAB_EKBE-GJAHR.
ENDIF.
SORT ITAB_MSEG BY EBELN EBELP CHARG.
calculate the GR qty eligible to be posted
SORT ITAB_LIPS BY EBELN EBELP.
LOOP AT ITAB_LIPS.
ITAB_LIPS-POSTQTY = ITAB_LIPS-LFIMG.
CLEAR ITAB_MSEG.
LOOP AT ITAB_MSEG WHERE EBELN = ITAB_LIPS-EBELN
AND EBELP = ITAB_LIPS-EBELP
AND CHARG = ITAB_LIPS-CHARG.
IF ITAB_MSEG-BWART = '101'.
ITAB_LIPS-POSTQTY = ITAB_LIPS-POSTQTY - ITAB_MSEG-MENGE.
ELSEIF ITAB_MSEG-BWART = '102'.
ITAB_LIPS-POSTQTY = ITAB_LIPS-POSTQTY + ITAB_MSEG-MENGE.
ENDIF.
ENDLOOP.
MODIFY ITAB_LIPS.
CLEAR ITAB_LIPS.
ENDLOOP.
LOOP AT ITAB.
ITAB-RECID = SY-TABIX.
MODIFY ITAB.
LOOP AT ITAB_LIPS WHERE EBELN EQ ITAB-EBELN
AND EBELP EQ ITAB-EBELP.
ITAB_LIPS-RECID = ITAB-RECID.
MODIFY ITAB_LIPS.
ENDLOOP.
ENDLOOP.
free the memory of unnecessary internal tables
$--"DEVK934135 Begin;-$
CLEAR: ITAB_EKBE.
FREE: ITAB_EKBE.
$--"DEVK934135 End;---$
ENDFORM. " 110_SELECT_OPEN_PO_QTY
*& Form 120_SELECT_PO_BILLED_QTY
FORM 120_SELECT_PO_BILLED_QTY.
$--"DEVK934135 Begin;-$
SELECT T1~VBELN
T1~POSNR
T1~FKIMG
T1~AUBEL
T1~AUPOS
APPENDING CORRESPONDING FIELDS OF TABLE ITAB_VBRP
FROM VBRP AS T1
INNER JOIN VBRK AS T2
ON T1MANDT EQ T2MANDT AND
T1VBELN EQ T2VBELN
FOR ALL ENTRIES IN ITAB
WHERE T1~MANDT EQ SY-MANDT "client is system client
AND T1~VBELN EQ ITAB-IHREZ+0(10) "billing doc = your ref.
AND T2~FKSTO EQ ' '. "status NOT cancelled
Match ITAB-IHREZ <-> ITAB_VBRP-VBELN...
ITAB-LICHA <-> ITAB_VBRP-POSNR...
LOOP AT ITAB.
SY_COPY-TABIX = SY-TABIX.
Check your reference (IHREZ) field;
IF ITAB-IHREZ IS INITIAL. "your-ref blank
ITAB-ERRFA = 'X'.
GT_ERROR-RECID = ITAB-RECID.
GT_ERROR-ERRTX = TEXT-E0A.
APPEND GT_ERROR.
ELSE. "your-ref NOT blank
IF ITAB-IHREZ CO ' 0123456789'. "your-ref numeric
ENDIF. "your-ref numeric
IF SY-FDPOS NE 12. "your-ref NOT numeric
ITAB-ERRFA = 'X'.
GT_ERROR-RECID = ITAB-RECID.
GT_ERROR-ERRTX = TEXT-E0A.
APPEND GT_ERROR.
ELSE. "your-ref NOT numeric
Check PO line item (LICHA) field;
IF ITAB-LICHA IS INITIAL. "line item blank
ITAB-ERRFA = 'X'.
GT_ERROR-RECID = ITAB-RECID.
GT_ERROR-ERRTX = TEXT-E01.
APPEND GT_ERROR.
ELSE. "line item NOT blank
IF ITAB-LICHA CO ' 0123456789'. "line item numeric
ENDIF. "line item numeric
IF SY-FDPOS NE 15. "line item NOT numeric
ITAB-ERRFA = 'X'.
GT_ERROR-RECID = ITAB-RECID.
GT_ERROR-ERRTX = TEXT-E01.
APPEND GT_ERROR.
ELSE. "line item NOT numeric
SY_COPY-SUBRC = 4.
READ TABLE ITAB_VBRP
WITH KEY VBELN = ITAB-IHREZ+0(10)
POSNR = ITAB-LICHA+0(6) BINARY SEARCH.
SY_COPY-SUBRC = SY-SUBRC.
IF SY_COPY-SUBRC NE 0.
ITAB-ERRFA = 'X'.
GT_ERROR-RECID = ITAB-RECID.
GT_ERROR-ERRTX = TEXT-E01.
APPEND GT_ERROR.
ELSE. "DEVK934283
ITAB-AUBEL = ITAB_VBRP-AUBEL. "DEVK934283
ITAB-AUPOS = ITAB_VBRP-AUPOS. "DEVK934283
ENDIF.
ENDIF. "line item NOT numeric
ENDIF. "line item blank
ENDIF. "your-ref NOT numeric
ENDIF. "your-ref blank
Check ID - LIFEX;
IF ITAB-LIFEX EQ ' '. "LIFEX is blank
ITAB-ERRFB = 'X'.
GT_ERROR-RECID = ITAB-RECID.
GT_ERROR-ERRTX = TEXT-ERB.
APPEND GT_ERROR.
ELSE. "LIFEX is NOT blank
Check ID - MFRGR;
IF ITAB-MFRGR NE 'G'. "MFRGR NOT G
ITAB-ERRFC = 'X'.
GT_ERROR-RECID = ITAB-RECID.
GT_ERROR-ERRTX = TEXT-ERC.
APPEND GT_ERROR.
ENDIF. "MFRGR NOT G
ENDIF. "LIFEX is blank
Check PO - Deletion indicator;
IF ITAB-LOEKZ NE ' '. "LOEKZ NOT blank
ITAB-ERRFD = 'X'.
GT_ERROR-RECID = ITAB-RECID.
GT_ERROR-ERRTX = TEXT-ERD.
APPEND GT_ERROR.
ENDIF. "LOEKZ NOT blank
Check PO - Delivery completed flag;
IF ITAB-ELIKZ NE ' '. "ELIKZ NOT blank
ITAB-ERRFE = 'X'.
GT_ERROR-RECID = ITAB-RECID.
GT_ERROR-ERRTX = TEXT-ERE.
APPEND GT_ERROR.
ENDIF. "ELIKZ NOT blank
Check PO - Net price;
IF ITAB-NETPR LT P_NETPR. "price < parameter
ITAB-ERRFF = 'X'.
GT_ERROR-RECID = ITAB-RECID.
CONCATENATE TEXT-ERF
G_NETPR
TEXT-USD
INTO GT_ERROR-ERRTX SEPARATED BY SPACE.
APPEND GT_ERROR.
ENDIF. "ELIKZ NOT blank
IF ITAB-AUPOS EQ '000000'.
CLEAR: ITAB-AUPOS.
ENDIF.
MODIFY ITAB INDEX SY_COPY-TABIX.
ENDLOOP.
LOOP AT ITAB. "DEVK934283
READ TABLE ITAB_LIPS "DEVK934283
WITH KEY VGBEL = ITAB-EBELN "DEVK934283
VGPOS = ITAB-EBELP "DEVK934283
BINARY SEARCH. "DEVK934283
SY_COPY-TABIX = SY-TABIX. "DEVK934283
IF SY-SUBRC EQ 0. "DEVK934283
ITAB_LIPS-AUBEL = ITAB-AUBEL. "DEVK934283
ITAB_LIPS-AUPOS = ITAB-AUPOS. "DEVK934283
MODIFY ITAB_LIPS INDEX SY_COPY-TABIX. "DEVK934283
ENDIF. "DEVK934283
ENDLOOP. "DEVK934283
Transfer errors from ITAB to ITAB_LIPS;
LOOP AT ITAB WHERE ERRFA EQ 'X'
OR ERRFB EQ 'X'
OR ERRFC EQ 'X'
OR ERRFD EQ 'X'
OR ERRFE EQ 'X'
OR ERRFF EQ 'X'.
READ TABLE ITAB_LIPS
WITH KEY VGBEL = ITAB-EBELN
VGPOS = ITAB-EBELP BINARY SEARCH.
SY_COPY-TABIX = SY-TABIX.
IF SY-SUBRC EQ 0.
ITAB_LIPS-ERRFA = ITAB-ERRFA.
ITAB_LIPS-ERRFB = ITAB-ERRFB.
ITAB_LIPS-ERRFC = ITAB-ERRFC.
ITAB_LIPS-ERRFD = ITAB-ERRFD.
ITAB_LIPS-ERRFE = ITAB-ERRFE.
ITAB_LIPS-ERRFF = ITAB-ERRFF.
ITAB_LIPS-NEWMFRGR = 'E'.
MODIFY ITAB_LIPS INDEX SY_COPY-TABIX.
ENDIF.
ENDLOOP.
$--"DEVK934135 End;---$
ENDFORM. " 120_SELECT_PO_BILLED_QTY
*& Form 200_PROCESS_DATA
FORM 200_PROCESS_DATA.
PERFORM 210_CONSOLIDATE_DATA.
PERFORM 220_PROCESS_DATA.
ENDFORM. " 200_PROCESS_DATA
*& Form 210_consolidate_data
FORM 210_CONSOLIDATE_DATA.
Get the PO item open qty and billed qty into one table
LOOP AT ITAB.
CLEAR ITAB_LIPS.
LOOP AT ITAB_LIPS WHERE EBELN = ITAB-EBELN
AND EBELP = ITAB-EBELP.
ITAB-IDQTY = ITAB-IDQTY + ITAB_LIPS-POSTQTY. "inbound delv qty
ENDLOOP.
CLEAR ITAB_VBRP.
LOOP AT ITAB_VBRP WHERE VBELN = ITAB-IHREZ
AND POSNR = ITAB-LICHA.
ITAB-FKIMG = ITAB-FKIMG + ITAB_VBRP-FKIMG. "PO item billed qty
ENDLOOP.
CLEAR ITAB_MSEG.
LOOP AT ITAB_MSEG WHERE EBELN = ITAB-EBELN
AND EBELP = ITAB-EBELP.
IF ITAB_MSEG-BWART = '101'.
ITAB-GRQTY = ITAB-GRQTY + ITAB_MSEG-MENGE. "PO item GR qty
ELSEIF ITAB_MSEG-BWART = '102'.
ITAB-GRQTY = ITAB-GRQTY - ITAB_MSEG-MENGE. "PO item GR qty
ELSEIF ITAB_MSEG-BWART = '122'. "DEVK934135
ITAB-GRQTY = ITAB-GRQTY - ITAB_MSEG-MENGE. "PO item GR qty
ENDIF.
ENDLOOP.
ITAB-RCVQTY = ITAB-FKIMG - ITAB-GRQTY. "qty billed but not received
calculate the quantity to be processed for which GRs are to be posted
IF ITAB-RCVQTY > 0 AND ITAB-RCVQTY > ITAB-IDQTY.
ITAB-PROCQTY = ITAB-IDQTY.
ELSEIF ITAB-RCVQTY > 0 AND ITAB-RCVQTY < ITAB-IDQTY.
ITAB-PROCQTY = ITAB-RCVQTY.
ELSEIF ITAB-RCVQTY > 0 AND ITAB-RCVQTY = ITAB-IDQTY.
ITAB-PROCQTY = ITAB-IDQTY.
ENDIF.
MODIFY ITAB.
CLEAR ITAB.
ENDLOOP.
free the memory of unnecessary internal tables
$--"DEVK934135 Begin;-$
CLEAR: ITAB_MSEG.
FREE: ITAB_MSEG.
$--"DEVK934135 End;---$
ENDFORM. " 210_consolidate_data
*& Form 220_PROCESS_DATA
FORM 220_PROCESS_DATA.
DATA: L0_FISCAL_PERIOD LIKE BAPI0002_4-FISCAL_PERIOD,
L0_FISCAL_YEAR LIKE BAPI0002_4-FISCAL_YEAR,
L0_RETURN LIKE BAPIRETURN1,
L1_FISCAL_PERIOD LIKE BAPI0002_4-FISCAL_PERIOD,
L1_FISCAL_YEAR LIKE BAPI0002_4-FISCAL_YEAR,
L1_RETURN LIKE BAPIRETURN1.
SORT ITAB_LIPS BY VGBEL VGPOS EBELN EBELP
LFDAT DESCENDING POSNR ASCENDING.
SORT ITAB BY EBELN EBELP.
Calculate the GR quanities to be posted for all inbound deliveries
LOOP AT ITAB_LIPS.
AT NEW EBELP.
CLEAR ITAB.
CLEAR V_RCVQTY.
READ TABLE ITAB WITH KEY EBELN = ITAB_LIPS-EBELN
EBELP = ITAB_LIPS-EBELP BINARY SEARCH.
V_RCVQTY = ITAB-RCVQTY.
ENDAT.
IF ITAB-PROCQTY GT 0.
IF ITAB_LIPS-POSTQTY GT ITAB-PROCQTY.
ITAB_LIPS-PROCQTY = ITAB-PROCQTY.
ITAB_LIPS-NEWMFRGR = 'B'.
ITAB-PROCQTY = 0.
ELSEIF ITAB_LIPS-POSTQTY LT ITAB-PROCQTY.
ITAB_LIPS-PROCQTY = ITAB_LIPS-POSTQTY.
ITAB_LIPS-NEWMFRGR = 'C'.
ITAB-PROCQTY = ITAB-PROCQTY - ITAB_LIPS-POSTQTY.
ELSEIF ITAB_LIPS-POSTQTY EQ ITAB-PROCQTY.
ITAB_LIPS-PROCQTY = ITAB_LIPS-POSTQTY.
ITAB_LIPS-NEWMFRGR = 'C'.
ITAB-PROCQTY = 0.
ENDIF.
Compare the Inbound delivery processing quantity with the pending
billing quantity to write it in the report log
IF ITAB_LIPS-POSTQTY LT V_RCVQTY.
ITAB_LIPS-GRIND = 'D'. "GR will be created for ID qty
V_RCVQTY = V_RCVQTY - ITAB_LIPS-POSTQTY.
ELSEIF ITAB_LIPS-POSTQTY GT V_RCVQTY.
ITAB_LIPS-GRIND = 'B'. "GR will be created for Billied qty
V_RCVQTY = 0.
ELSEIF ITAB_LIPS-POSTQTY EQ V_RCVQTY.
ITAB_LIPS-GRIND = 'S'. "Billed qty is equal to ID qty
V_RCVQTY = 0.
ENDIF.
ELSE.
Decide why this inbound delivery could not have GR quantity -
excess GR quantity or unavailable Billing quantity
IF ITAB-RCVQTY LT ITAB-IDQTY.
ITAB_LIPS-GRIND = 'C'. "GR not created - Lack of Billed qty
ENDIF.
IF ITAB-RCVQTY LT 0.
ITAB_LIPS-GRIND = 'A'. "GR not created - GR qty > Bill qty
ENDIF.
ENDIF.
MODIFY ITAB_LIPS.
CLEAR ITAB_LIPS.
ENDLOOP.
$--"DEVK934135-Begin;-$
LOOP AT ITAB_LIPS.
AT NEW EBELP.
CLEAR ITAB.
CLEAR V_RCVQTY.
READ TABLE ITAB WITH KEY EBELN = ITAB_LIPS-EBELN
EBELP = ITAB_LIPS-EBELP BINARY SEARCH.
V_RCVQTY = ITAB-FKIMG - ITAB-GRQTY.
ENDAT.
IF ITAB_LIPS-ERRFA IS INITIAL.
IF V_RCVQTY EQ 0.
ITAB_LIPS-ERRF1 = 'X'.
ITAB_LIPS-NEWMFRGR = 'E'.
GT_ERROR-RECID = ITAB-RECID.
GT_ERROR-ERRTX = TEXT-R01.
APPEND GT_ERROR.
ELSEIF V_RCVQTY LT 0.
ITAB_LIPS-ERRF2 = 'X'.
ITAB_LIPS-NEWMFRGR = 'E'.
GT_ERROR-RECID = ITAB-RECID.
GT_ERROR-ERRTX = TEXT-R02.
APPEND GT_ERROR.
ELSEIF V_RCVQTY GT 0.
IF V_RCVQTY EQ ITAB_LIPS-LFIMG.
ITAB_LIPS-ERRF3 = 'X'.
ITAB_LIPS-NEWMFRGR = 'C'.
ELSEIF V_RCVQTY GT ITAB_LIPS-LFIMG.
ITAB_LIPS-ERRF4 = 'X'.
ITAB_LIPS-NEWMFRGR = 'C'.
ITAB_LIPS-PROCQTY = ITAB_LIPS-LFIMG.
GT_ERROR-RECID = ITAB-RECID.
GT_ERROR-ERRTX = TEXT-R04.
APPEND GT_ERROR.
ELSEIF V_RCVQTY LT ITAB_LIPS-LFIMG.
ITAB_LIPS-ERRF5 = 'X'.
ITAB_LIPS-NEWMFRGR = 'E'.
GT_ERROR-RECID = ITAB-RECID.
GT_ERROR-ERRTX = TEXT-R05.
APPEND GT_ERROR.
ENDIF.
ENDIF.
ENDIF.
CLEAR: ITAB_LIPS-BLDAT.
READ TABLE ITAB WITH KEY EBELN = ITAB_LIPS-VGBEL
EBELP = ITAB_LIPS-VGPOS BINARY SEARCH.
SELECT SINGLE FKDAT
FROM VBRK
INTO (ITAB_LIPS-BLDAT)
WHERE VBELN EQ ITAB-IHREZ+0(10).
CALL FUNCTION 'BAPI_COMPANYCODE_GET_PERIOD'
EXPORTING
COMPANYCODEID = 'C800'
POSTING_DATE = ITAB_LIPS-BLDAT
IMPORTING
FISCAL_YEAR = L0_FISCAL_YEAR
FISCAL_PERIOD = L0_FISCAL_PERIOD
RETURN = L0_RETURN.
CALL FUNCTION 'BAPI_COMPANYCODE_GET_PERIOD'
EXPORTING
COMPANYCODEID = 'C800'
POSTING_DATE = SY-DATLO
IMPORTING
FISCAL_YEAR = L1_FISCAL_YEAR
FISCAL_PERIOD = L1_FISCAL_PERIOD
RETURN = L1_RETURN.
IF L0_FISCAL_YEAR EQ L1_FISCAL_YEAR AND
L0_FISCAL_PERIOD EQ L1_FISCAL_PERIOD.
ITAB_LIPS-BUDAT = ITAB_LIPS-BLDAT.
ELSE.
ITAB_LIPS-BUDAT = SY-DATLO.
ENDIF.
MODIFY ITAB_LIPS.
CLEAR ITAB_LIPS.
ENDLOOP.
$--"DEVK934135-End;---$
collect all the inbound deliveries for which goods receipt are to be
made / material freight status are to be updated
LOOP AT ITAB_LIPS WHERE ERRFA IS INITIAL "DEVK934135
AND ERRFB IS INITIAL "DEVK934135
AND ERRFC IS INITIAL "DEVK934135
AND ERRFD IS INITIAL "DEVK934135
AND ERRFE IS INITIAL "DEVK934135
AND ERRFF IS INITIAL "DEVK934135
AND ERRF1 IS INITIAL "DEVK934135
AND ERRF2 IS INITIAL "DEVK934135
AND ERRF5 IS INITIAL. "DEVK934135
IF ITAB_LIPS-PROCQTY GT 0 AND ITAB_LIPS-LFIMG NE 0.
ITAB_LIPS_G-VBELN = ITAB_LIPS-VBELN.
ITAB_LIPS_G-BLDAT = ITAB_LIPS-BLDAT. "DEVK934135
ITAB_LIPS_G-BUDAT = ITAB_LIPS-BUDAT. "DEVK934135
ITAB_LIPS_G-IHREZ = ITAB_LIPS-IHREZ. "DEVK934135
APPEND ITAB_LIPS_G.
ENDIF.
ENDLOOP.
SORT ITAB_LIPS_G BY VBELN.
DELETE ADJACENT DUPLICATES FROM ITAB_LIPS_G.
LOOP AT ITAB_LIPS WHERE NOT ERRFA IS INITIAL "DEVK934135
OR NOT ERRFB IS INITIAL "DEVK934135
OR NOT ERRFC IS INITIAL "DEVK934135
OR NOT ERRFD IS INITIAL "DEVK934135
OR NOT ERRFE IS INITIAL "DEVK934135
OR NOT ERRFF IS INITIAL "DEVK934135
OR NOT ERRF1 IS INITIAL "DEVK934135
OR NOT ERRF2 IS INITIAL "DEVK934135
OR NOT ERRF3 IS INITIAL "DEVK934135
OR NOT ERRF4 IS INITIAL "DEVK934135
OR NOT ERRF5 IS INITIAL. "DEVK934135
ITAB_LIPS_X-VBELN = ITAB_LIPS-VBELN.
ITAB_LIPS_X-BLDAT = ITAB_LIPS-BLDAT. "DEVK934135
ITAB_LIPS_X-BUDAT = ITAB_LIPS-BUDAT. "DEVK934135
ITAB_LIPS_X-IHREZ = ITAB_LIPS-IHREZ. "DEVK934135
APPEND ITAB_LIPS_X.
ENDLOOP.
SORT ITAB_LIPS_X BY VBELN.
DELETE ADJACENT DUPLICATES FROM ITAB_LIPS_X.
LOOP AT ITAB_LIPS.
READ TABLE ITAB WITH KEY RECID = ITAB_LIPS-RECID.
SY_COPY-INDEX = SY-TABIX.
IF SY-SUBRC EQ 0.
ITAB-ERRFA = ITAB_LIPS-ERRFA.
ITAB-ERRFB = ITAB_LIPS-ERRFB.
ITAB-ERRFC = ITAB_LIPS-ERRFC.
ITAB-ERRFD = ITAB_LIPS-ERRFD.
ITAB-ERRFE = ITAB_LIPS-ERRFE.
ITAB-ERRFF = ITAB_LIPS-ERRFF.
ITAB-ERRF1 = ITAB_LIPS-ERRF1.
ITAB-ERRF2 = ITAB_LIPS-ERRF2.
ITAB-ERRF3 = ITAB_LIPS-ERRF3.
ITAB-ERRF4 = ITAB_LIPS-ERRF4.
ITAB-ERRF5 = ITAB_LIPS-ERRF5.
MODIFY ITAB INDEX SY_COPY-INDEX.
ENDIF.
ENDLOOP.
Decide the goods receipt item number for the delivery items that are
to be processed. Delivery items with zero quantities are not shown up
in MB0A transaction for GR
CLEAR V_DEL_ZERO.
IF NOT ITAB_LIPS_G[] IS INITIAL.
SELECT VBELN POSNR LFIMG
INTO CORRESPONDING FIELDS OF TABLE ITAB_LIPS_Z FROM LIPS
FOR ALL ENTRIES IN ITAB_LIPS_G
WHERE VBELN = ITAB_LIPS_G-VBELN
AND LFIMG EQ 0.
IF SY-SUBRC EQ 0.
V_DEL_ZERO = 'X'.
CLEAR ITAB_LIPS_Z.
FREE ITAB_LIPS_Z.
SELECT VBELN POSNR LFIMG
INTO CORRESPONDING FIELDS OF TABLE ITAB_LIPS_Z FROM LIPS
FOR ALL ENTRIES IN ITAB_LIPS_G
WHERE VBELN = ITAB_LIPS_G-VBELN.
SORT ITAB_LIPS_Z BY VBELN POSNR.
LOOP AT ITAB_LIPS_Z.
AT NEW VBELN.
CLEAR V_ZEILE.
ENDAT.
IF ITAB_LIPS_Z-LFIMG NE 0.
V_ZEILE = V_ZEILE + 1.
ENDIF.
ITAB_LIPS_Z-ZEILE = V_ZEILE.
MODIFY ITAB_LIPS_Z.
ENDLOOP.
ELSE.
V_DEL_ZERO = ' '.
ENDIF.
ENDIF.
SORT ITAB_LIPS_Z BY VBELN POSNR.
LOOP AT ITAB_LIPS.
IF V_DEL_ZERO = ' '.
ITAB_LIPS-ZEILE = ITAB_LIPS-POSNR.
ELSE.
CLEAR ITAB_LIPS_Z.
READ TABLE ITAB_LIPS_Z WITH KEY VBELN = ITAB_LIPS-VBELN
POSNR = ITAB_LIPS-POSNR BINARY SEARCH.
ITAB_LIPS-ZEILE = ITAB_LIPS_Z-ZEILE.
ENDIF.
MODIFY ITAB_LIPS.
ENDLOOP.
SORT ITAB_LIPS BY VBELN DESCENDING POSNR ASCENDING.
ENDFORM. " 220_PROCESS_DATA
*& Form 300_post_documents
FORM 300_POST_DOCUMENTS.
LOOP AT ITAB_LIPS_G.
PERFORM 310_POST_GR_DOC.
MODIFY ITAB_LIPS_G.
CLEAR ITAB_LIPS_G.
ENDLOOP.
CLEAR: BDCDATA, BDCDATA[].
ITAB_LIPS_R[] = ITAB_LIPS_G[].
ITAB_LIPS_G[] = ITAB_LIPS_X[].
LOOP AT ITAB_LIPS_G.
PERFORM 350_UPDATE_DELIVERY_DOC.
MODIFY ITAB_LIPS_G.
CLEAR ITAB_LIPS_G.
ENDLOOP.
PERFORM close_group.
ENDFORM. " 300_post_documents
*& Form 310_POST_GR_DOC
FORM 310_POST_GR_DOC.
PERFORM 320_POST_GR_HEADER.
LOOP AT ITAB_LIPS WHERE VBELN = ITAB_LIPS_G-VBELN
AND LFIMG NE 0
AND PROCQTY NE 0
AND ERRFA IS INITIAL
AND ERRFB IS INITIAL
AND ERRFC IS INITIAL
AND ERRFD IS INITIAL
AND ERRFE IS INITIAL
AND ERRFF IS INITIAL
AND ERRF1 IS INITIAL
AND ERRF2 IS INITIAL
AND ERRF5 IS INITIAL.
IF ITAB_LIPS-ZEILE EQ 1.
PERFORM 335_POST_GR_ITEMS.
ELSE.
PERFORM 330_POST_GR_ITEMS.
ENDIF.
ENDLOOP.
PERFORM 340_SAVE_GR_DOC.
ENDFORM. " 310_POST_GR_DOC
*& Form 320_POST_GR_HEADER
FORM 320_POST_GR_HEADER.
DATA: L_BLDAT TYPE SYDATUM,
L_BUDAT TYPE SYDATUM.
WRITE: ITAB_LIPS_G-BLDAT TO L_BLDAT,
ITAB_LIPS_G-BUDAT TO L_BUDAT.
IF ITAB_LIPS_G-IHREZ+0(10) NE '0000000000' AND
ITAB_LIPS_G-IHREZ+0(10) NE ' '.
WHILE ITAB_LIPS_G-IHREZ+0(1) EQ '0'.
SHIFT ITAB_LIPS_G-IHREZ.
ENDWHILE.
ENDIF.
perform bdc_dynpro using 'SAPMM07M' '0201'.
perform bdc_field using 'BDC_CURSOR'
'RM07M-VLIEF'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'MKPF-BKTXT'
ITAB_LIPS_G-IHREZ.
perform bdc_field using 'MKPF-BLDAT'
L_BLDAT.
perform bdc_field using 'MKPF-BUDAT'
L_BUDAT.
perform bdc_field using 'RM07M-BWARTWE'
'101'.
perform bdc_field using 'RM07M-WERKS'
perform bdc_field using 'RM07M-LGORT'
perform bdc_field using 'RM07M-XNUVO'
'X'.
perform bdc_field using 'XFULL'
perform bdc_field using 'RM07M-VLIEF'
ITAB_LIPS_G-VBELN.
perform bdc_dynpro using 'SAPMM07M' '0221'.
perform bdc_field using 'BDC_OKCODE'
'=SELN'.
perform bdc_dynpro using 'SAPMM07M' '0221'.
perform bdc_field using 'BDC_CURSOR'
'MSEG-ERFMG(01)'.
ENDFORM. " 320_POST_GR_HEADER
*& Form 330_POST_GR_ITEMS
FORM 330_POST_GR_ITEMS.
perform bdc_field using 'BDC_OKCODE'
'=KLA'.
perform bdc_dynpro using 'SAPMM07M' '1501'.
perform bdc_field using 'BDC_OKCODE'
'=OK'.
VV_ZEILE = ITAB_LIPS-ZEILE.
PERFORM BDC_FIELD USING 'RM07M-ZEILE'
VV_ZEILE.
perform bdc_dynpro using 'SAPMM07M' '0221'.
perform bdc_field using 'RM07M-XSELK(01)'
'X'.
VV_PROCQTY = ITAB_LIPS-PROCQTY.
perform bdc_field using 'MSEG-ERFMG(01)'
VV_PROCQTY.
perform bdc_field using 'MSEG-CHARG(01)'
ITAB_LIPS-CHARG.
perform bdc_field using 'MSEG-INSMK(01)'
'S'.
ENDFORM. " 330_POST_GR_ITEMS
*& Form 340_SAVE_GR_DOC
FORM 340_SAVE_GR_DOC.
perform bdc_field using 'BDC_OKCODE'
'=BU'.
CLEAR V_FAIL_IND.
PERFORM BDC_TRANSACTION USING 'MB0A'
CHANGING V_FAIL_IND.
ENDFORM. " 340_SAVE_GR_DOC
*& Form 350_UPDATE_DELIVERY_DOC
FORM 350_UPDATE_DELIVERY_DOC.
PERFORM 360_UPDATE_DELIVERY_HEADER.
LOOP AT ITAB_LIPS WHERE VBELN = ITAB_LIPS_G-VBELN
AND ERRFA IS INITIAL
AND ERRFB IS INITIAL
AND ERRFC IS INITIAL.
AND errfd IS INITIAL
AND errfe IS INITIAL.
PERFORM 370_UPDATE_DELIVERY_ITEMS.
ENDLOOP.
PERFORM 380_SAVE_DELIVERY_DOC.
ENDFORM. " 350_UPDATE_DELIVERY_DOC
*& Form 360_UPDATE_DELIVERY_HEADER
FORM 360_UPDATE_DELIVERY_HEADER.
perform bdc_dynpro using 'SAPMV50A' '0108'.
perform bdc_field using 'BDC_CURSOR'
'LIKP-VBELN'.
perform bdc_field using 'BDC_OKCODE'
'=UELA'.
perform bdc_field using 'LIKP-VBELN'
ITAB_LIPS_G-VBELN.
ENDFORM. " 360_UPDATE_DELIVERY_HEADER
*& Form 370_UPDATE_DELIVERY_ITEMS
FORM 370_UPDATE_DELIVERY_ITEMS.
IF ITAB_LIPS-ERRFD EQ 'X' OR
ITAB_LIPS-ERRFE EQ 'X' OR
ITAB_LIPS-ERRFF EQ 'X'.
ITAB_LIPS-NEWMFRGR = 'E'.
ENDIF.
perform bdc_dynpro using 'SAPMV50A' '0270'.
perform bdc_field using 'BDC_CURSOR'
'RV50A-VERUR_LA'.
perform bdc_field using 'BDC_OKCODE'
'=POPO'.
perform bdc_dynpro using 'SAPMV50A' '0111'.
perform bdc_field using 'BDC_CURSOR'
'RV50A-POSNR'.
perform bdc_field using 'BDC_OKCODE'
'=POPO'.
VV_POSNR = ITAB_LIPS-POSNR.
perform bdc_field using 'RV50A-POSNR'
VV_POSNR.
perform bdc_dynpro using 'SAPMV50A' '0270'.
perform bdc_field using 'BDC_CURSOR'
'LIPS-POSNR(01)'.
perform bdc_field using 'BDC_OKCODE'
'=LAPD'.
perform bdc_field using 'RV50A-LIPS_SELKZ(01)'
'X'.
perform bdc_dynpro using 'SAPMV50A' '0570'.
perform bdc_field using 'BDC_CURSOR'
'LIPS-MFRGR'.
perform bdc_field using 'BDC_OKCODE'
'=BACK'.
perform bdc_field using 'LIPS-MFRGR'
ITAB_LIPS-NEWMFRGR.
ENDFORM. " 370_UPDATE_DELIVERY_ITEMS
*& Form 380_SAVE_DELIVERY_DOC
FORM 380_SAVE_DELIVERY_DOC.
perform bdc_dynpro using 'SAPMV50A' '0270'.
perform bdc_field using 'BDC_CURSOR'
'RV50A-VERUR_LA'.
perform bdc_field using 'BDC_OKCODE'
'=SICH'.
If GR document is not posted successfully, then do not update the
status of delivery document
CLEAR V_FAIL_IND.
PERFORM BDC_TRANSACTION USING 'VL32'
CHANGING V_FAIL_IND.
IF V_FAIL_IND = 'X'.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = 'VL32'
TABLES
DYNPROTAB = BDCDATA.
REFRESH BDCDATA.
ENDIF.
ENDFORM. " 380_SAVE_DELIVERY_DOC
Start new transaction according to parameters *
FORM BDC_TRANSACTION USING TCODE
CHANGING V_FAILURE_IND.
DATA: L_MSTRING(480).
DATA: L_SUBRC LIKE SY-SUBRC.
REFRESH MESSTAB.
CALL TRANSACTION TCODE USING BDCDATA
MODE CTUMODE
UPDATE CUPDATE
MESSAGES INTO MESSTAB.
L_SUBRC = SY-SUBRC.
CLEAR V_FAILURE_IND.
IF L_SUBRC NE 0.
V_FAILURE_IND = 'X'.
CLEAR V_IND.
LOOP AT MESSTAB.
SELECT SINGLE * FROM T100 WHERE SPRSL = MESSTAB-MSGSPRA
AND ARBGB = MESSTAB-MSGID
AND MSGNR = MESSTAB-MSGNR.
IF SY-SUBRC = 0.
L_MSTRING = T100-TEXT.
IF L_MSTRING CS '&1'.
REPLACE '&1' WITH MESSTAB-MSGV1 INTO L_MSTRING.
REPLACE '&2' WITH MESSTAB-MSGV2 INTO L_MSTRING.
REPLACE '&3' WITH MESSTAB-MSGV3 INTO L_MSTRING.
REPLACE '&4' WITH MESSTAB-MSGV4 INTO L_MSTRING.
ELSE.
REPLACE '&' WITH MESSTAB-MSGV1 INTO L_MSTRING.
REPLACE '&' WITH MESSTAB-MSGV2 INTO L_MSTRING.
REPLACE '&' WITH MESSTAB-MSGV3 INTO L_MSTRING.
REPLACE '&' WITH MESSTAB-MSGV4 INTO L_MSTRING.
ENDIF.
CONDENSE L_MSTRING.
IF MESSTAB-MSGTYP = 'E'.
ERRORTAB-TCODE = TCODE.
ERRORTAB-VBELN = ITAB_LIPS_G-VBELN.
ERRORTAB-ERROR_TEXT = L_MSTRING.
APPEND ERRORTAB.
V_IND = 'X'.
ENDIF.
ELSE.
IF MESSTAB-MSGTYP = 'E'.
ERRORTAB-TCODE = TCODE.
ERRORTAB-VBELN = ITAB_LIPS_G-VBELN.
ERRORTAB-ERROR_TEXT = TEXT-U01.
APPEND ERRORTAB.
V_IND = 'X'.
ENDIF.
ENDIF.
ENDLOOP.
IF V_IND IS INITIAL.
ERRORTAB-TCODE = TCODE.
ERRORTAB-VBELN = ITAB_LIPS_G-VBELN.
ERRORTAB-ERROR_TEXT = TEXT-U01.
APPEND ERRORTAB.
ENDIF.
ELSE.
IF TCODE = 'MB0A'.
LOOP AT MESSTAB WHERE MSGTYP = 'S'
AND MSGID = 'M7'
AND MSGNR = '060'.
IF NOT MESSTAB-MSGV1 IS INITIAL.
ITAB_LIPS_G-MBLNR = MESSTAB-MSGV1.
ENDIF.
ENDLOOP.
ELSEIF TCODE = 'VL32'.
ITAB_LIPS_G-DLVIND = 'X'.
ENDIF.
ENDIF.
IF L_SUBRC <> 0 AND E_GROUP <> SPACE.
IF E_GROUP_OPENED = ' '.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
GROUP = E_GROUP
USER = E_USER
KEEP = E_KEEP
HOLDDATE = E_HDATE.
E_GROUP_OPENED = 'X'.
ENDIF.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = TCODE
TABLES
DYNPROTAB = BDCDATA.
ENDIF.
REFRESH BDCDATA.
ENDFORM.
*& Form 335_POST_GR_ITEMS
FORM 335_POST_GR_ITEMS.
VV_ZEILE = ITAB_LIPS-ZEILE.
perform bdc_field using 'RM07M-XSELK(01)'
'X'.
VV_PROCQTY = ITAB_LIPS-PROCQTY.
perform bdc_field using 'MSEG-ERFMG(01)'
VV_PROCQTY.
perform bdc_field using 'MSEG-CHARG(01)'
ITAB_LIPS-CHARG.
perform bdc_field using 'MSEG-INSMK(01)'
'S'.
ENDFORM. " 335_POST_GR_ITEMS
*& Form 399_RETRIEVE_DOCUMENTS
&----
that is a warning message only ... But if you want to fix it then replace all 000 with 001 in your write statement. The position instead of 000 you have to give 001
write : /000(10)....instead of this
write : /1(10) or write : /(10) or write : /001(10) any thing you can use.
regards
shiba dutta
Similar Messages
-
Hi all..very urgent..full marks wud be given
Hi gurus,
could you plz help me in finding the replacement for the obsolete function modules in ECC 6.0..
following are the BAPI function modules.full marks wud be given for answers..plz help me
BAPI_ABSENCE_GETDETAIL
BAPI_ABSENCE_GETDETAILEDLIST
BAPI_ABSENCE_GETLIST
BAPI_ABSENCE_SIMULATECREATION
BAPI_CLASS_GET_CLASSIFICATIONS
QSS1_PLAN_SHOW
FOW6
BAPI_SALESORDER_CREATEFROMDAT1
BAPI_FTR_CHANGE
BAPI_FTR_CREATEFROMDATA
BAPI_FTR_GETDETAIL
BAPI_FTR_REVERSE
BAPI_INSPCHAR_GETREQUIREMENTS
BAPI_INSPCHAR_GETRESULT
BAPI_INSPCHAR_SETRESULT
BAPI_INSPPOINT_CHANGE
BAPI_INSPPOINT_CREATEFROMDATA
BAPI_INSPPOINT_GETLIST
BAPI_INSPPOINT_GETREQUIREMENTS
BAPI_RESERVATION_CREATE
BAPI_REPMANCONF_CANCEL
BAPI_REPMANCONF_CREATE_MTO
BAPI_REPMANCONF_CREATE_PLOT
BAPI_REPMANCONF_CREATE_MTS
BAPI_REPMANCONF_EXIST_CHK
BAPI_DOCUMENT_CHECKIN
BAPI_DOCUMENT_CHECKOUTMODIFY
BAPI_DOCUMENT_CREATE2
BAPI_DOCUMENT_CREATEFROMSOURCE
BAPI_DOCUMENT_CREATENEWVERSION
BAPI_DOCUMENT_GETDETAIL
BAPI_EQMT_CREATE
BAPI_EQMT_DISMANTLEFL
BAPI_EQMT_DISMANTLEHR
BAPI_EQMT_DETAIL
BAPI_EQMT_INSTALLFL
BAPI_EQMT_INSTALLHR
BAPI_EQMT_MODIFY
BAPI_ABSENCE_GETDETAIL
BAPI_ABSENCE_GETDETAILEDLIST
BAPI_ABSENCE_GETLIST
BAPI_ABSENCE_SIMULATECREATION
BAPI_DOCUMENT_CHECKIN
BAPI_DOCUMENT_CHECKOUTMODIFY
BAPI_DOCUMENT_CREATE2
BAPI_DOCUMENT_CREATEFROMSOURCE
BAPI_DOCUMENT_CREATENEWVERSION
BAPI_DOCUMENT_GETDETAIL
BAPI_SALESORDER_CREATEFROMDAT1Why dont you check with http://service.sap.com, coz who so ever reply you will reply only after checking the same.
-
I am getting a following error when i run the program in ECC 6.o
ERROR:" The where condition does not refer to for all entries table..
program is as follows..full marks wud be given.....
***INCLUDE MZSDRETL_RMP_PRICING_ENTRYF01 .
*& Form COMPUTE_SCROLLING_IN_TC
Vertical Scrolling in table control upon pressing , next page,
previous page , first page and last page button
-->P_TC_NAME table control name
-->P_OK_CODE okcode
-->P_LOOPC current loop count
FORM COMPUTE_SCROLLING_IN_TC USING P_TC_NAME
P_OK_CODE
P_LOOPC.
-BEGIN OF LOCAL DATA----
DATA L_TC_NEW_TOP_LINE LIKE SY-TABIX.
DATA L_TC_FIELD_NAME LIKE FELD-NAME.
FIELD-SYMBOLS <TC> TYPE CXTAB_CONTROL.
-END OF LOCAL DATA----
ASSIGN (P_TC_NAME) TO <TC>.
IF <TC>-LINES = 0.
L_TC_NEW_TOP_LINE = 1.
ELSE.
CALL FUNCTION 'SCROLLING_IN_TABLE'
EXPORTING
ENTRY_ACT = <TC>-TOP_LINE
ENTRY_FROM = 1
ENTRY_TO = <TC>-LINES
LAST_PAGE_FULL = C_X
LOOPS = P_LOOPC
OK_CODE = P_OK_CODE
OVERLAPPING = C_X
IMPORTING
ENTRY_NEW = L_TC_NEW_TOP_LINE.
exceptions
no_entry_or_page_act = 01
no_entry_to = 02
no_ok_code_or_page_go = 03
others = 99.
ENDIF.
get actual tc and column *
GET CURSOR FIELD L_TC_FIELD_NAME .
IF SY-SUBRC = 0.
set actual column *
SET CURSOR FIELD L_TC_FIELD_NAME LINE 1.
ENDIF.
set the new top line *
<TC>-TOP_LINE = L_TC_NEW_TOP_LINE.
ENDFORM. " COMPUTE_SCROLLING_IN_TC
*& Form GET_VALUE_ON_REQUEST
Call function module to display the region list in form of search help
FORM GET_VALUE_ON_REQUEST TABLES RET
USING P_C_RET
P_C_DYN
P_DYNNR.
Call function module to display the data in internal table in form of
a search help
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = P_C_RET
DYNPPROG = G_REPID
DYNPNR = P_DYNNR
DYNPROFIELD = P_C_DYN
VALUE_ORG = C_VAL_ORG " Value S
TABLES
VALUE_TAB = RET.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " GET_VALUE_ON_REQUEST
*& Form POPULATE_RANGES
Populate range tables with store grouping data
-->P_I_STORE_INFO store grouping entry
FORM POPULATE_RANGES USING L_REGION_ID
L_DIST_ID
L_AREA_ID
L_STORE_ID.
CLEAR : R_REGION , R_DIST , R_AREA , R_STORE .
CLEAR : R_REGION[] , R_DIST[] , R_AREA[] , R_STORE[].
populate region
IF NOT L_REGION_ID IS INITIAL.
R_REGION-SIGN = C_SIGN.
R_REGION-OPTION = C_OPT1.
R_REGION-LOW = L_REGION_ID.
APPEND R_REGION.
CLEAR R_REGION.
ENDIF.
populate district
IF NOT L_DIST_ID IS INITIAL.
R_DIST-SIGN = C_SIGN.
R_DIST-OPTION = C_OPT1.
R_DIST-LOW = L_DIST_ID.
APPEND R_DIST.
CLEAR R_DIST.
ENDIF.
populate area
IF NOT L_AREA_ID IS INITIAL.
R_AREA-SIGN = C_SIGN.
R_AREA-OPTION = C_OPT1.
R_AREA-LOW = L_AREA_ID.
APPEND R_AREA.
CLEAR R_AREA.
ENDIF.
populate store
IF NOT L_STORE_ID IS INITIAL.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = L_STORE_ID
IMPORTING
OUTPUT = L_STORE_ID.
R_STORE-SIGN = C_SIGN.
R_STORE-OPTION = C_OPT1.
R_STORE-LOW = L_STORE_ID.
APPEND R_STORE.
CLEAR R_STORE.
ENDIF.
ENDFORM. " POPULATE_RANGES
*& Form GET_TABLE_ROW_VALUES
Get the field values of the current row of the table
l_stepl - current row no.
FORM GET_TABLE_ROW_VALUES USING L_STEPL.
DATA: L_REPID LIKE D020S-PROG.
REFRESH I_DYNPREAD.
WA_DYNPREAD-STEPL = L_STEPL.
WA_DYNPREAD-FIELDNAME = 'I_STORE_INFO-REGION_ID'.
APPEND WA_DYNPREAD TO I_DYNPREAD.
CLEAR WA_DYNPREAD.
WA_DYNPREAD-STEPL = L_STEPL.
WA_DYNPREAD-FIELDNAME = 'I_STORE_INFO-DIST_ID'.
APPEND WA_DYNPREAD TO I_DYNPREAD.
CLEAR WA_DYNPREAD.
WA_DYNPREAD-STEPL = L_STEPL.
WA_DYNPREAD-FIELDNAME = 'I_STORE_INFO-AREA_ID'.
APPEND WA_DYNPREAD TO I_DYNPREAD.
CLEAR WA_DYNPREAD.
WA_DYNPREAD-STEPL = L_STEPL.
WA_DYNPREAD-FIELDNAME = 'I_STORE_INFO-ATTR_VAL'.
APPEND WA_DYNPREAD TO I_DYNPREAD.
CLEAR WA_DYNPREAD.
WA_DYNPREAD-STEPL = L_STEPL.
WA_DYNPREAD-FIELDNAME = 'I_STORE_INFO-STORE_ID'.
APPEND WA_DYNPREAD TO I_DYNPREAD.
CLEAR WA_DYNPREAD.
WA_DYNPREAD-STEPL = L_STEPL.
WA_DYNPREAD-FIELDNAME = 'ZPRICELIST-ZLIST'.
APPEND WA_DYNPREAD TO I_DYNPREAD.
CLEAR WA_DYNPREAD.
L_REPID = G_REPID .
Call function to get the screen data
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
DYNAME = L_REPID
DYNUMB = SY-DYNNR
TABLES
DYNPFIELDS = I_DYNPREAD.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " GET_TABLE_ROW_VALUES
*& Form DETERMINE_LEVEL
Determine the level of store grouping info entered
Region - 1
Region/Dist - 2
Region/Dist/Area - 3
Region/Dist/Area/Store - 4
FORM DETERMINE_LEVEL USING P_I_STORE_INFO LIKE I_STORE_INFO.
IF NOT P_I_STORE_INFO-REGION_ID IS INITIAL
AND P_I_STORE_INFO-DIST_ID IS INITIAL
AND P_I_STORE_INFO-AREA_ID IS INITIAL
AND P_I_STORE_INFO-STORE_ID IS INITIAL.
P_I_STORE_INFO-LEVEL = C_LEVEL1.
ENDIF.
IF NOT P_I_STORE_INFO-REGION_ID IS INITIAL
AND NOT P_I_STORE_INFO-DIST_ID IS INITIAL
AND P_I_STORE_INFO-AREA_ID IS INITIAL
AND P_I_STORE_INFO-STORE_ID IS INITIAL.
P_I_STORE_INFO-LEVEL = C_LEVEL2.
ENDIF.
IF NOT P_I_STORE_INFO-REGION_ID IS INITIAL
AND NOT P_I_STORE_INFO-DIST_ID IS INITIAL
AND NOT P_I_STORE_INFO-AREA_ID IS INITIAL
AND P_I_STORE_INFO-STORE_ID IS INITIAL.
P_I_STORE_INFO-LEVEL = C_LEVEL3.
ENDIF.
IF NOT P_I_STORE_INFO-REGION_ID IS INITIAL
AND NOT P_I_STORE_INFO-DIST_ID IS INITIAL
AND NOT P_I_STORE_INFO-AREA_ID IS INITIAL
AND NOT P_I_STORE_INFO-STORE_ID IS INITIAL.
P_I_STORE_INFO-LEVEL = C_LEVEL4.
ENDIF.
ENDFORM. " DETERMINE_LEVEL
*& Form GET_SY_STEPL
Get the current record number in the table control.
-->P_L_STEPL text
FORM GET_SY_STEPL USING P_L_STEPL LIKE SY-STEPL.
CLEAR P_L_STEPL.
CALL FUNCTION 'DYNP_GET_STEPL'
IMPORTING
POVSTEPL = P_L_STEPL
EXCEPTIONS
STEPL_NOT_FOUND = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " GET_SY_STEPL
*& Form GET_POPUP_CONFIRM
Display the popup to confirm the user
FORM GET_POPUP_CONFIRM USING P_L_ANS
P_G_POPUP_TEXT
G_LINE_TEXT.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
TITLEBAR = G_LINE_TEXT
TEXT_QUESTION = P_G_POPUP_TEXT
IMPORTING
ANSWER = P_L_ANS.
IF SY-SUBRC <> 0.
ENDIF.
ENDFORM. " GET_POPUP_CONFIRM
*& Form GOTO_SKU_HIER_SCREEN
Upon user wishes to go to the detail screen , a check is performed
to determine if any existing promo or pricing is already available
for the entered store grouping info . If it is available then
prompt a message to the user 'Already promo exists if user wants to
go to the detail screen ?'. If the user presses 'Yes' then then
detail screen will appear otherwise the header screen will appear
FORM GOTO_SKU_HIER_SCREEN.
CLEAR G_CHECK_ENTRY.
Check the store grouping entries beforr switching to detail screen.
PERFORM CHECK_STORE_ENTRIES.
CHECK G_CHECK_ENTRY IS INITIAL.
READ TABLE I_STORE_INFO WITH KEY REGION_ID = C_SPACE
DIST_ID = C_SPACE
AREA_ID = C_SPACE
STORE_ID = C_SPACE
ATTR_VAL = C_SPACE.
IF SY-SUBRC = 0.
DELETE I_STORE_INFO WHERE REGION_ID = C_SPACE
AND DIST_ID = C_SPACE
AND AREA_ID = C_SPACE
AND STORE_ID = C_SPACE
AND ATTR_VAL = C_SPACE.
ENDIF.
perform check for the duplicate store grouping data.
PERFORM CHECK_DUPLICATE_STRGRP_DATA.
If any duplicate entry is found then user will be prompted with the
message if he/she wants to delete those duplicate entries . If 'Yes'
is pressed then all the duplicate entries will be deleted or else
if 'No' is pressed , then user will remain in the same header screen
IF G_DUPLICATE_ENTRY = C_X.
CONCATENATE TEXT-058 TEXT-059
INTO G_POPUP_TEXT
SEPARATED BY SPACE.
CLEAR G_ANS.
CLEAR G_LINE_TEXT.
Get the pop-up to confirm the operation
PERFORM GET_POPUP_CONFIRM USING G_ANS
G_POPUP_TEXT
G_LINE_TEXT.
IF G_ANS = '1'.
Delete the duplicate entries
DELETE ADJACENT DUPLICATES FROM I_STORE_INFO COMPARING REGION_ID
DIST_ID
AREA_ID
STORE_ID
ATTR_VAL.
MESSAGE S161(ZS) WITH TEXT-003.
ENDIF.
ELSE.
Perform the duplicate entry check for create or change pricing
IF G_MAIN_OKCODE = 'PRCC' OR G_MAIN_OKCODE = 'CRPR'.
IF I_STORE_INFO[] IS INITIAL.
MESSAGE S161(ZS) WITH TEXT-004.
ELSE.
CLEAR G_FLAG.
LOOP AT I_STORE_INFO WHERE NOT REPROMO IS INITIAL.
G_FLAG = C_X.
EXIT.
ENDLOOP.
Prompt the message by calling the function module for pop-up confirm
IF NOT G_FLAG IS INITIAL.
CONCATENATE TEXT-061 TEXT-062
INTO G_POPUP_TEXT SEPARATED BY SPACE .
CLEAR G_LINE_TEXT.
PERFORM GET_POPUP_CONFIRM USING G_ANS
G_POPUP_TEXT
G_LINE_TEXT.
IF G_ANS = C_ANS1.
CLEAR G_ANS.
PERFORM EXISTING_SKU_BEFORE_DETAIL_SCR.
Begin of DEVK939178
Set top line of sku table to 1 and resolve nested screen calls
TBCL3-TOP_LINE = 1.
call screen 9002.
LEAVE TO SCREEN 9002.
End of DEVK939178
ENDIF.
ELSE.
PERFORM EXISTING_SKU_BEFORE_DETAIL_SCR.
Begin of DEVK939178
Set top line of sku table to 1 and resolve nested screen calls
TBCL3-TOP_LINE = 1.
LEAVE TO SCREEN 9002.
call screen 9002.
End of DEVK939178
ENDIF.
ENDIF.
ELSE.
If user does not input any store grouping info in the header screen
and opts to go to the detail, then message will appear to the user as
'A Promo is going to be applied on the Price List type '. This will
necessarily be a % promo as the promo is going to applied across all
the SKUs that belong to that price list type which is irrespective of
the price of individual SKUs
IF I_STORE_INFO[] IS INITIAL.
IF G_PRICING_VIEW_FLAG = C_X " DEVK939197
OR G_PROMO_VIEW_FLAG = C_X. " DEVK939197
LEAVE TO SCREEN 9002.
ELSE.
IF G_PROMO_PLTYP <> C_X.
CLEAR G_POPUP_TEXT.
CLEAR G_LINE_TEXT.
CONCATENATE TEXT-063 TEXT-062
INTO G_POPUP_TEXT SEPARATED BY SPACE .
PERFORM GET_POPUP_CONFIRM USING G_ANS
G_POPUP_TEXT
G_LINE_TEXT.
IF G_ANS = C_ANS1.
If user opts 'Yes' then another screen will appear where the user can
give the value of the % promo that is going to be applied on the
pricelist type
G_PROMO_PLTYP = C_X.
Begin of DEVK939178
Set top line of sku table to 1 and resolve nested screen calls
CLEAR I_STORE_INFO.
I_STORE_INFO-LEVEL = C_LEVEL6.
APPEND I_STORE_INFO.
TBCL3-TOP_LINE = 1.
PERFORM CHECK_EXIST_PROMO_STR .
PERFORM EXISTING_SKU_BEFORE_DETAIL_SCR.
LEAVE TO SCREEN 9002.
call screen 9002.
End of DEVK939178
call screen 9006 starting at 10 5 ending at 70 10.
ELSE.
MESSAGE S161(ZS) WITH TEXT-004.
ENDIF.
ENDIF.
ENDIF.
ELSE.
CLEAR G_FLAG.
LOOP AT I_STORE_INFO WHERE NOT REPROMO IS INITIAL.
G_FLAG = 'X'.
EXIT.
ENDLOOP.
IF NOT G_FLAG IS INITIAL.
CONCATENATE TEXT-064 TEXT-062
INTO G_POPUP_TEXT SEPARATED BY SPACE .
CLEAR G_LINE_TEXT.
PERFORM GET_POPUP_CONFIRM USING G_ANS
G_POPUP_TEXT
G_LINE_TEXT.
IF G_ANS = C_ANS1.
CLEAR G_ANS.
PERFORM EXISTING_SKU_BEFORE_DETAIL_SCR.
Begin of DEVK939178
Set top line of sku table to 1 and resolve nested screen calls
TBCL3-TOP_LINE = 1.
LEAVE TO SCREEN 9002.
call screen 9002.
End of DEVK939178
ENDIF.
ELSE.
PERFORM EXISTING_SKU_BEFORE_DETAIL_SCR.
Begin of DEVK939178
Set top line of sku table to 1 and resolve nested screen calls
TBCL3-TOP_LINE = 1.
LEAVE TO SCREEN 9002.
call screen 9002.
End of DEVK939178
ENDIF.
ENDIF.
ENDIF.
ENDIF.
*endif.
ENDFORM. " GOTO_SKU_HIER_SCREEN
*& Form ADD_LINE_STR_GRP
Add new entry to the store gropuing info
FORM ADD_LINE_STR_GRP.
G_OKCODE = OKCODE.
CLEAR I_STORE_INFO.
DESCRIBE TABLE I_STORE_INFO LINES L_LINE.
DO 15 TIMES.
I_STORE_INFO-LEVEL = C_LEVEL0.
APPEND I_STORE_INFO.
CLEAR I_STORE_INFO.
ENDDO.
G_ADD_CNT = G_ADD_CNT + 15.
G_LINE_CNT = 1.
ENDFORM. " ADD_LINE_STR_GRP
*& Form DELETE_LINE_STR_GRP
Delete selected entries which the user wants to perform a
delete operation .
FORM DELETE_LINE_STR_GRP.
If the store grouping table is blank then issue message
'No Entry is available for Selection.' .
IF I_STORE_INFO[] IS INITIAL.
MESSAGE S161(ZS) WITH TEXT-001.
ELSE.
Check if any entry in the store info table is checked for the delete
If selected, then issue a confirmation message to the user in pop-up
READ TABLE I_STORE_INFO WITH KEY SEL = C_X.
IF SY-SUBRC = 0.
CLEAR G_POPUP_TEXT.
CLEAR G_LINE_TEXT.
G_POPUP_TEXT = TEXT-065 .
PERFORM GET_POPUP_CONFIRM USING G_ANS
G_POPUP_TEXT
G_LINE_TEXT .
If the user opts 'Yes' then delete the selected lines
IF G_ANS = C_ANS1.
DELETE I_STORE_INFO WHERE SEL = C_X.
MESSAGE S161(ZS) WITH TEXT-002.
ENDIF.
ELSE.
Do the same deletion operation even if user does not select the line
but puts the cursor in any line entry.
GET CURSOR LINE L_LINE.
IF SY-SUBRC = 0.
L_LINE = L_LINE + TBCL_HEAD1-TOP_LINE - 1.
CLEAR G_POPUP_TEXT.
G_POPUP_TEXT = TEXT-065.
CLEAR G_LINE_TEXT.
PERFORM GET_POPUP_CONFIRM USING G_ANS
G_POPUP_TEXT
G_LINE_TEXT.
IF G_ANS = C_ANS1.
DELETE I_STORE_INFO INDEX L_LINE.
Upon successful delete operation issue a success message to the user
MESSAGE S161(ZS) WITH TEXT-002.
ENDIF.
ELSE.
MESSAGE S161(ZS) WITH TEXT-006.
ENDIF.
ENDIF.
ENDIF.
DESCRIBE TABLE I_STORE_INFO LINES G_ADD_CNT.
ENDFORM. " DELETE_LINE_STR_GRP
*& Form SELECT_ALL_ENTRIES
When the user selects the 'Select All' button, then select all the
entries of the store grouping table by setting the SEL field to X for
each entry
FORM SELECT_ALL_ENTRIES.
IF I_STORE_INFO[] IS INITIAL.
If the store grouping table is blank then issue message
'No Entry is available for Selection.' .
MESSAGE S161(ZS) WITH TEXT-001.
ELSE.
LOOP AT I_STORE_INFO .
I_STORE_INFO-SEL = C_X.
MODIFY I_STORE_INFO.
ENDLOOP.
G_OKCODE = OKCODE.
ENDIF.
ENDFORM. " SELECT_ALL_ENTRIES
*& Form DESELECT_ALL_ENTRIES
Deselect all the entries in the table
FORM DESELECT_ALL_ENTRIES.
IF I_STORE_INFO[] IS INITIAL.
If the store grouping table is blank then issue message
'No Entry is available for Selection.' .
MESSAGE S161(ZS) WITH TEXT-001.
ELSE.
LOOP AT I_STORE_INFO .
I_STORE_INFO-SEL = C_SPACE.
MODIFY I_STORE_INFO.
ENDLOOP.
ENDIF.
ENDFORM. " DESELECT_ALL_ENTRIES
*& Form SAVE_PROMO
Save the promo Event.
FORM SAVE_PROMO.
DATA: L_DATUM LIKE SY-DATUM,
L_SUBRC LIKE SY-SUBRC .
Populate dept/class/subclass if sku or style is not blank
PERFORM POPULATE_DEPT_CLASS.
DATA: G_PROMONO LIKE ZSDRETL_RMPHEAD-PP_ID.
IF G_PROMO_CHG_FLAG = C_X.
G_PROMONO = G_PROMO_ID.
ELSE.
Get number range for the promo
CALL FUNCTION 'NUMBER_GET_NEXT'
EXPORTING
NR_RANGE_NR = C_NR_OBJ1
OBJECT = C_NROBJ
QUANTITY = '1'
IGNORE_BUFFER = C_X
IMPORTING
NUMBER = G_PROMONO.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
IF NOT G_PROMONO IS INITIAL.
REFRESH I_RMPHEAD.
CLEAR WA_RMPHEAD.
If Override flag is set for any SKU end that promo first
READ TABLE I_SKU_INFO WITH KEY OVERRIDE = C_X.
IF SY-SUBRC = 0.
perform end_existing_promo .
ENDIF.
Populate Header information for Promo event
REFRESH I_RMPHEAD.
CLEAR WA_RMPHEAD.
IF SY-DYNNR = '9006'.
WA_RMPHEAD-PP_ID = G_PROMONO.
WA_RMPHEAD-ID_TYPE = C_P.
WA_RMPHEAD-PLTYP = ZPRICELIST-ZLIST.
WA_RMPHEAD-APPROVE = CHK_APR.
WA_RMPHEAD-ERDAT = SY-DATUM.
WA_RMPHEAD-ERNAM = SY-UNAME.
WA_RMPHEAD-ID_DESC = G_PDESC.
WA_RMPHEAD-START_DATE = ZSDRETL_RMPHEAD-START_DATE.
WA_RMPHEAD-END_DATE = ZSDRETL_RMPHEAD-END_DATE.
WA_RMPHEAD-CLEARANCE = C_SPACE.
WA_RMPHEAD-PROMO_TYPE = G_PTYPE.
APPEND WA_RMPHEAD TO I_RMPHEAD.
CLEAR WA_RMPHEAD.
ELSE.
WA_RMPHEAD-PP_ID = G_PROMONO.
WA_RMPHEAD-ID_TYPE = C_P.
WA_RMPHEAD-PLTYP = G_PRICELIST.
WA_RMPHEAD-APPROVE = CHK_APR.
WA_RMPHEAD-ERDAT = SY-DATUM.
WA_RMPHEAD-ERNAM = SY-UNAME.
WA_RMPHEAD-ID_DESC = G_PDESC.
WA_RMPHEAD-START_DATE = ZSDRETL_RMPHEAD-START_DATE.
L_SUBRC = 4.
LOOP AT I_SKU_INFO.
IF I_SKU_INFO-END_DATE GE ZSDRETL_RMPHEAD-START_DATE .
if i_sku_info-end_date ge sy-datum.
L_SUBRC = 0.
EXIT.
ENDIF.
ENDLOOP.
IF L_SUBRC = 4.
L_DATUM = ZSDRETL_RMPHEAD-START_DATE - 1.
l_datum = sy-datum - 1.
WA_RMPHEAD-END_DATE = L_DATUM.
ELSE.
WA_RMPHEAD-END_DATE = ZSDRETL_RMPHEAD-END_DATE.
ENDIF.
WA_RMPHEAD-CLEARANCE = G_CHK_CLR.
WA_RMPHEAD-PROMO_TYPE = G_PROMO_TYPE.
APPEND WA_RMPHEAD TO I_RMPHEAD.
CLEAR WA_RMPHEAD.
ENDIF.
IF NOT I_RMPHEAD[] IS INITIAL.
MODIFY ZSDRETL_RMPHEAD FROM TABLE I_RMPHEAD.
IF SY-SUBRC = 0.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = 0
TEXT = TEXT-067.
COMMIT WORK.
ENDIF.
ENDIF.
Populate Store information for Promo event
REFRESH I_RMPSTORE.
CLEAR WA_RMPSTORE.
IF SY-DYNNR = '9006' OR G_PROMO_PLTYP = C_X.
WA_RMPSTORE-PP_ID = G_PROMONO.
WA_RMPSTORE-RECNO = 0.
WA_RMPSTORE-START_DATE = ZSDRETL_RMPHEAD-START_DATE.
WA_RMPSTORE-END_DATE = ZSDRETL_RMPHEAD-END_DATE.
WA_RMPSTORE-STORE_LEVEL = C_LEVEL6.
WA_RMPDETAIL-ID_TYPE = C_P.
WA_RMPDETAIL-PLTYP = G_PRICELIST.
APPEND WA_RMPSTORE TO I_RMPSTORE.
CLEAR WA_RMPSTORE.
ELSE.
LOOP AT I_STORE_INFO.
WA_RMPSTORE-PP_ID = G_PROMONO.
WA_RMPSTORE-RECNO = SY-TABIX.
WA_RMPSTORE-START_DATE = ZSDRETL_RMPHEAD-START_DATE.
WA_RMPSTORE-END_DATE = ZSDRETL_RMPHEAD-END_DATE.
WA_RMPSTORE-REGION_ID = I_STORE_INFO-REGION_ID.
WA_RMPSTORE-DIST_ID = I_STORE_INFO-DIST_ID.
WA_RMPSTORE-AREA_ID = I_STORE_INFO-AREA_ID.
WA_RMPSTORE-STORE_ID = I_STORE_INFO-STORE_ID.
WA_RMPSTORE-ATTR_VAL = I_STORE_INFO-ATTR_VAL.
WA_RMPSTORE-STORE_LEVEL = I_STORE_INFO-LEVEL.
WA_RMPSTORE-ID_TYPE = C_P.
WA_RMPSTORE-PLTYP = G_PRICELIST.
APPEND WA_RMPSTORE TO I_RMPSTORE.
CLEAR WA_RMPSTORE.
ENDLOOP.
ENDIF.
IF NOT I_RMPSTORE[] IS INITIAL.
IF NOT I_RMPSTORE_TEMP[] IS INITIAL.
READ TABLE I_RMPSTORE_TEMP INTO WA_RMPSTORE INDEX 1.
IF SY-SUBRC = 0.
PERFORM ENQUEUE USING WA_RMPSTORE-PP_ID.
ENDIF.
DELETE ZSDRETL_RMPSTORE FROM TABLE I_RMPSTORE_TEMP.
IF SY-SUBRC = 0.
COMMIT WORK.
PERFORM DEQUE.
REFRESH I_RMPSTORE_TEMP.
ENDIF.
ENDIF.
MODIFY ZSDRETL_RMPSTORE FROM TABLE I_RMPSTORE.
IF SY-SUBRC = 0.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = 0
TEXT = TEXT-066.
COMMIT WORK.
ENDIF.
ENDIF.
Populate SKU information for Promo event
CLEAR: WA_RMPDETAIL , I_RMPDETAIL[].
IF SY-DYNNR = '9006'.
WA_RMPDETAIL-PP_ID = G_PROMONO.
WA_RMPDETAIL-RECNO = 0.
WA_RMPDETAIL-START_DATE = ZSDRETL_RMPHEAD-START_DATE.
WA_RMPDETAIL-END_DATE = ZSDRETL_RMPHEAD-END_DATE.
WA_RMPDETAIL-VALUE = G_VAL_PLTYP.
WA_RMPDETAIL-ZLEVEL = C_LEVEL1.
APPEND WA_RMPDETAIL TO I_RMPDETAIL.
CLEAR WA_RMPDETAIL.
ELSE.
LOOP AT I_SKU_INFO.
WA_RMPDETAIL-PP_ID = G_PROMONO.
WA_RMPDETAIL-RECNO = SY-TABIX.
WA_RMPDETAIL-START_DATE = I_SKU_INFO-START_DATE.
IF ZSDRETL_RMPHEAD-END_DATE LT ZSDRETL_RMPHEAD-START_DATE.
if zsdretl_rmphead-end_date lt sy-datum.
WA_RMPDETAIL-END_DATE = ZSDRETL_RMPHEAD-END_DATE.
ELSE.
WA_RMPDETAIL-END_DATE = I_SKU_INFO-END_DATE.
ENDIF.
WA_RMPDETAIL-DEPT = I_SKU_INFO-DEPT.
WA_RMPDETAIL-CLASS = I_SKU_INFO-CLASS.
WA_RMPDETAIL-SUB_CLASS = I_SKU_INFO-SUB_CLASS.
WA_RMPDETAIL-STYLE = I_SKU_INFO-STYLE.
WA_RMPDETAIL-SKU = I_SKU_INFO-SKU.
WA_RMPDETAIL-VALUE = I_SKU_INFO-VALUE.
WA_RMPDETAIL-BASIC_PRICE = I_SKU_INFO-KBETR.
WA_RMPDETAIL-ZLEVEL = I_SKU_INFO-TYPE.
WA_RMPDETAIL-TOP_UP = I_SKU_INFO-TOP_UP.
WA_RMPDETAIL-OVERRIDE = I_SKU_INFO-OVERRIDE.
WA_RMPDETAIL-ZLEVEL = I_SKU_INFO-TYPE.
WA_RMPDETAIL-REF_PROMO = I_SKU_INFO-REF_PROMO.
WA_RMPDETAIL-ID_TYPE = C_P.
WA_RMPDETAIL-PLTYP = G_PRICELIST.
APPEND WA_RMPDETAIL TO I_RMPDETAIL.
CLEAR WA_RMPDETAIL.
ENDLOOP.
ENDIF.
IF NOT I_RMPDETAIL[] IS INITIAL.
IF NOT I_RMPDETAIL_TEMP[] IS INITIAL.
READ TABLE I_RMPDETAIL_TEMP INTO WA_RMPDETAIL INDEX 1.
IF SY-SUBRC = 0.
PERFORM ENQUEUE USING WA_RMPDETAIL-PP_ID.
ENDIF.
DELETE ZSDRETL_RMPDETL FROM TABLE I_RMPDETAIL_TEMP.
IF SY-SUBRC = 0.
COMMIT WORK.
PERFORM DEQUE.
REFRESH I_RMPDETAIL_TEMP.
ENDIF.
ENDIF.
MODIFY ZSDRETL_RMPDETL FROM TABLE I_RMPDETAIL.
IF SY-SUBRC = 0.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = 0
TEXT = TEXT-068.
COMMIT WORK.
ENDIF.
ENDIF.
IF SY-SUBRC = 0.
IF G_PROMO_CHG_FLAG = C_X.
MESSAGE S161(ZS)
WITH TEXT-046 G_PROMONO TEXT-048.
ELSE.
MESSAGE S161(ZS)
WITH TEXT-046 G_PROMONO TEXT-049.
ENDIF.
LEAVE TO SCREEN 9000.
ENDIF.
ENDIF.
ENDFORM. " SAVE_PROMO
*& Form EXIT_FROM_HEADER_SCREEN
Exit from header screen
FORM EXIT_FROM_HEADER_SCREEN.
in case of view promo and view pricing , come back to the view/copy
screen
IF G_MAIN_OKCODE = 'VRPR' AND ( G_PROMO_VIEW_FLAG = C_X
OR G_PRICING_VIEW_FLAG = C_X ).
LEAVE TO SCREEN 9007.
ELSE.
if store grouping info table is empty then come back to the main menu
IF I_STORE_INFO[] IS INITIAL.
LEAVE TO SCREEN 9000.
ELSE.
if store grouping info contains a blank record then come to main menu
READ TABLE I_STORE_INFO INDEX 1.
IF SY-SUBRC = 0 AND I_STORE_INFO-REGION_ID IS INITIAL
AND I_SKU_INFO[] IS INITIAL.
LEAVE TO SCREEN 9000.
ENDIF.
if SKU info table is blank then issue message if the user wants to
exit from the header screen without entring the promo/pricing detail
IF I_SKU_INFO[] IS INITIAL.
CLEAR G_ANS .
IF G_MAIN_OKCODE = 'CRPR' OR G_MAIN_OKCODE = 'PRCC'.
G_POPUP_TEXT = TEXT-069.
ELSE.
G_POPUP_TEXT = TEXT-070.
ENDIF.
Call FM for pop-up message
CLEAR G_LINE_TEXT.
PERFORM GET_POPUP_CONFIRM USING G_ANS G_POPUP_TEXT G_LINE_TEXT.
IF G_ANS = C_ANS1.
LEAVE TO SCREEN 9000.
ENDIF.
ELSE.
if sku info is avilable & user presses exit then a message is issued
if the user wants to leave without saving the promo/pricing event
CLEAR G_ANS .
IF G_MAIN_OKCODE = 'CRPR' OR G_MAIN_OKCODE = 'PRCC'.
G_POPUP_TEXT = TEXT-071.
ELSE.
G_POPUP_TEXT = TEXT-072.
ENDIF.
Call FM for pop-up message
CLEAR G_LINE_TEXT.
PERFORM GET_POPUP_CONFIRM USING G_ANS G_POPUP_TEXT G_LINE_TEXT.
If user presses 'Yes' then go back to the main menu
IF G_ANS = C_ANS1.
LEAVE TO SCREEN 9000.
if user pressed 'No' then prompts the message if the user wants to go
back without saving if it says 'Yes' , then go to the main menu and if
it says 'No' then save the event and go back to main menu
ELSEIF G_ANS = C_ANS2.
CLEAR G_ANS .
message s161(zs) with text-164.
exit.
IF G_MAIN_OKCODE = 'CRPR' OR G_MAIN_OKCODE = 'PRCC'.
G_POPUP_TEXT = TEXT-073.
ELSE.
G_POPUP_TEXT = TEXT-074.
ENDIF.
Call FM for pop-up message
CLEAR G_LINE_TEXT.
PERFORM GET_POPUP_CONFIRM USING G_ANS G_POPUP_TEXT G_LINE_TEXT.
IF G_ANS = C_ANS1.
IF G_MAIN_OKCODE = 'CRPR' OR G_MAIN_OKCODE = 'PRCC'.
Call save pricing subroutine to save the pricing event
MESSAGE S161(ZS) WITH TEXT-164.
perform save_pricing.
ELSE.
Call save promo subroutine to save the promo event
perform save_promo.
MESSAGE S161(ZS) WITH TEXT-164.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDFORM. " EXIT_FROM_HEADER_SCREEN
*& Form VIEW_PROMOS
Call subroutine to view all the pre-existing promos that are
available for the selected lines
FORM VIEW_PROMOS.
CASE SY-DYNNR.
WHEN '9001'.
G_DYNNR = SY-DYNNR.
Display all the promo that are already exist for the selected entries
in store grouping table
Begin of DEVK939178
logic is changed to check if any existing promo available with higher
store hierarchy
PERFORM VIEW_PRE_PROMO_STRGRP.
End of DEVK939178
WHEN '9002'.
G_DYNNR = SY-DYNNR.
Display all the promo that are already exist for the selected entries
in sku hierarchy table
Begin of DEVK939196
PERFORM VIEW_PROMO_FOR_SKUHIER1 .
End of DEVK939196
ENDCASE.
ENDFORM. " VIEW_PROMOS
*& Form VIEW_PRICING
View the existing pricing if available for an entry
FORM VIEW_PRICING.
CASE SY-DYNNR.
WHEN '9001'.
G_DYNNR = SY-DYNNR.
Display all the pricings that are already exist for selected entries
in store grouping table
PERFORM VIEW_PRE_PROMO_STRGRP .
WHEN '9002'.
G_DYNNR = SY-DYNNR.
Display all the pricings that are already exist for selected entries
in sku hierarchy table
PERFORM VIEW_PROMO_FOR_SKUHIER1.
ENDCASE.
ENDFORM. " VIEW_PRICING
*& Form VIEW_PROMO_FOR_STRGRP
Prepare the ALV scenarios to display the existing promos
FORM VIEW_PROMO_FOR_STRGRP.
REFRESH I_FIELDCAT.
CLEAR I_FIELDCAT.
Populate the field catalogue table for Stor grouping fields
PERFORM POPULATE_CATALOGUE USING:
Position Fieldname Tablename Title Display
'01' 'REGION_ID' 'I_STR_GRP1' TEXT-075 ' ',
'02' 'DIST_ID' 'I_STR_GRP1' TEXT-076 ' ',
'03' 'AREA_ID' 'I_STR_GRP1' TEXT-077 ' ',
'04' 'ATTR_VAL' 'I_STR_GRP1' TEXT-078 ' ',
'05' 'STORE_ID' 'I_STR_GRP1' TEXT-079 ' ',
'06' 'PP_ID' 'I_STR_GRP1' TEXT-084 ' ',
'07' 'START_DATE' 'I_STR_GRP1' TEXT-082 ' ',
'08' 'END_DATE' 'I_STR_GRP1' TEXT-083 ' ',
'09' 'PROMO_TYPE' 'I_STR_GRP1' TEXT-080 ' ',
'10' 'CLEARANCE' 'I_STR_GRP1' TEXT-081 ' ',
'11' 'ID_DESC' 'I_STR_GRP1' TEXT-161 ' '.
LOOP AT I_FIELDCAT INTO STRUCT_CAT.
CASE STRUCT_CAT-FIELDNAME.
WHEN 'PROMO_TYPE'.
IF G_PROMO_FLAG = C_X.
STRUCT_CAT-NO_OUT = C_SPACE.
ELSE.
STRUCT_CAT-NO_OUT = C_X.
ENDIF.
WHEN 'CLEARANCE'.
IF G_PROMO_FLAG = C_X.
STRUCT_CAT-NO_OUT = C_SPACE.
ELSE.
STRUCT_CAT-NO_OUT = C_X.
ENDIF.
WHEN 'START_DATE'.
IF G_PROMO_FLAG = C_X.
STRUCT_CAT-REPTEXT_DDIC = TEXT-082.
ELSE.
STRUCT_CAT-REPTEXT_DDIC = TEXT-085.
ENDIF.
WHEN 'END_DATE'.
IF G_PROMO_FLAG = C_X.
STRUCT_CAT-REPTEXT_DDIC = TEXT-083.
ELSE.
STRUCT_CAT-REPTEXT_DDIC = TEXT-086.
ENDIF.
WHEN 'PP_ID'.
IF G_PROMO_FLAG = C_X.
STRUCT_CAT-REPTEXT_DDIC = TEXT-084 .
ELSE.
STRUCT_CAT-REPTEXT_DDIC = TEXT-088.
ENDIF.
ENDCASE.
MODIFY I_FIELDCAT FROM STRUCT_CAT INDEX SY-TABIX.
ENDLOOP.
CLEAR STRUCT_LAYOUT.
STRUCT_LAYOUT-COLWIDTH_OPTIMIZE = C_X.
IF G_PROMO_FLAG = C_X.
STRUCT_LAYOUT-WINDOW_TITLEBAR = TEXT-089.
ELSE.
STRUCT_LAYOUT-WINDOW_TITLEBAR = TEXT-090.
ENDIF.
STRUCT_LAYOUT-ZEBRA = C_X.
Populate sort table
PERFORM POPULATE_SORT_TABLE.
populate event table
PERFORM POPULATE_EVENT_TABLE.
Call function to display the list of existing promos in ALV format
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = G_REPID
IS_LAYOUT = STRUCT_LAYOUT
IT_FIELDCAT = I_FIELDCAT
IT_SORT = I_SORTTAB[]
IT_EVENTS = I_EVENT[]
TABLES
T_OUTTAB = I_STR_GRP1
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " VIEW_PROMO_FOR_STRGRP
*& Form POPULATE_CATALOGUE
Populating general informations for output format
-->p_position Column position
-->p_fname Field name
-->p_tabname Internal table name
-->p_title Title
-->p_display Display/No display
FORM POPULATE_CATALOGUE USING P_POSITION TYPE SYCUCOL
P_FNAME TYPE FIELDNAME
P_TABNAME TYPE TABNAME
P_TITLE TYPHi sahil,
probably one or more fields used for comparison in for all entries where clause is not part of the refered table. The error is given for one of your for all entries select - I don't know which one it was. Check this condition: Are all fields like i.e. I_SKU_HIER-PP_ID parts of the used tables?
Maybe ther is a typo.
Regards,
Clemens -
Very urgent..full marks wud be given
Hi gurus,
i am new to ABAP..i have got the requirements as follows..
tables used are
MARA MATNR
MARA ERSDA
MARA KZREV
MARA MTART
AENR AENNR
AEOI AENNR
AEOI OBJKT
AEOI REVLV
selection screen should be as below.
material -
to -
created on -
to -
prod.type.----
to -
change number--to--
1 scenario1 2 scenario2 3 scenario3
Scenario1
1 Material (optional)
2 Created on ( mandatory)
*Detail Logic:*
Assumptions:
1. only material of type FERT are considered for product type maintenance
2. All the required customization settings in ECM are maintained.
Scenario1:
Selection parameters to be considered for scenario1:
radio button scenario1,
Created on :
Material :
1. get all the material number s ( MARA MATNR ) from the MARA table where the indicator
Revision Level Has Been Assigned to the Material( MARA- KZREV) is blank , date range is equal to input date (MARA ERSDA) range , material number equal to input material number(s) , material type equal to FERT.
could you please help me with the code..
full marks wud be given
thanx and regards
sahildo you think giving 10 points and getting a program which may get you salary in '000s is fair. You should try to learn abap programming technique and in the process if you have problem, you will certainly get help from here. But dont expect somebody to write whole program for you.
start looking at help.sap.com and in sdn to start learning.
Regards
Raja -
Urgent plz help me.error fixing--full marks given
Hi..this is regarding error fixing for prgm below in ecc 6.0
*& Report ZCLEAREM
REPORT ZCLEAREM.
TABLES: LFA1, LFB1, BSIK.
PARAMETERS: CLRDATE LIKE BSIK-AUGDT.
SELECT-OPTIONS: ALLOCATE FOR BSIK-ZUONR,
CLIENT FOR BSIK-MANDT.
DATA: BEGIN OF CLEARING OCCURS 3000,
LIFNR LIKE BSIK-LIFNR,
BUKRS LIKE BSIK-BUKRS,
BUDAT LIKE BSIK-BUDAT,
ZUONR LIKE BSIK-ZUONR.
DATA: END OF CLEARING.
DATA: SESSION(12) VALUE 'CLEARVENDORS'.
DATA: BEGIN OF BDC_TAB OCCURS 10.
INCLUDE STRUCTURE BDCDATA.
DATA: END OF BDC_TAB.
DATA: FROM_DATE(10), TO_DATE(10), COMPANY_CODE LIKE KOST1-BUKRS.
DATA: CTR(4) TYPE N VALUE 0, HOLD_LIFNR LIKE BSIK-LIFNR.
DATA: HOLD_BUKRS LIKE BSIK-BUKRS.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
GROUP = SESSION
HOLDDATE = '07/01/96'
USER = SY-UNAME
KEEP = 'X'.
CONCATENATE: CLRDATE4(2) '/' CLRDATE6(2) '/'
CLRDATE+0(4) INTO FROM_DATE.
WRITE : / 'CLEARING DATE USED IS ', CLRDATE.
START-OF-SELECTION.
GET BSIK LATE.
CHECK CLIENT.
CHECK ALLOCATE.
IF ( BSIK-QSSHB GT 0 ) AND ( BSIK-AUGBL EQ ' ' ).
MOVE-CORRESPONDING BSIK TO CLEARING.
APPEND CLEARING.
ENDIF.
END-OF-SELECTION.
WRITE : / 'SELECTED ', CTR, ' RECORDS FOR CLEARING...'.
SORT CLEARING BY LIFNR BUKRS BUDAT.
DELETE ADJACENT DUPLICATES FROM CLEARING COMPARING LIFNR BUKRS.
LOOP AT CLEARING.
WRITE : / CLEARING-LIFNR, ' ', CLEARING-BUKRS, ' CLEARED. '.
PERFORM GENERATE_BDC_DATA.
CTR = CTR + 1.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = 'F-44'
TABLES
DYNPROTAB = BDC_TAB.
ENDLOOP.
CALL FUNCTION 'BDC_CLOSE_GROUP'.
WRITE: /'end of generation of bdc session - ', SESSION, SY-MANDT,
SY-UNAME, SY-UZEIT.
WRITE: / 'WILL CLEAR A TOTAL OF ', CTR, ' RECORDS.'.
FORM GENERATE_BDC_DATA *
FORM GENERATE_BDC_DATA.
REFRESH BDC_TAB.
PERFORM DYNPRO USING:
'X' 'SAPMF05A' '0131',
'' 'RF05A-AGKON' CLEARING-LIFNR,
'' 'BKPF-BUKRS' CLEARING-BUKRS,
'' 'BKPF-BUDAT' FROM_DATE,
'' 'RF05A-XPOS1(2)' 'X',
'' 'BDC_OKCODE' '/16',
'X' 'SAPMF05A' '0731',
'' 'RF05A-SEL01(1)' CLEARING-ZUONR,
'' 'BDC_OKCODE' '/16',
LOOP AT
'X' 'SAPDF05X' '1102',
'' 'BDC_OKCODE' 'BU'.
ENDFORM.
FORM DYNPRO *
--> DYNBEGIN *
--> NAME *
--> VALUE *
FORM DYNPRO USING DYNBEGIN NAME VALUE.
IF DYNBEGIN = 'X'.
CLEAR BDC_TAB.
MOVE: NAME TO BDC_TAB-PROGRAM,
VALUE TO BDC_TAB-DYNPRO,
'X' TO BDC_TAB-DYNBEGIN.
APPEND BDC_TAB.
ELSE.
CLEAR BDC_TAB.
MOVE: NAME TO BDC_TAB-FNAM,
VALUE TO BDC_TAB-FVAL.
APPEND BDC_TAB.
ENDIF.
ENDFORM.In abap editor menu path
Goto-->Attributes
here in Logical Database name define KDF.
It will work.
regards
shiba dutta -
Need help in BADI...full marks wud be given.
Hi guys,
i am implementing a badi for a transaction MIRO...i got the BADI which is AC_DOCUMENT ..but this is working fine,but want a badi for iline items..
can anybody help me in finding the right badi for line items..Hi,
YOu may use the BADIs:
MB_DOCUMENT_BADI and MB_MIGO_BADI for ur req.
Pls reward poins if useful.
Regards,
Renjith Michael. -
One day I opened up my firefox browser and noticed my bookmarks toolbar icons are huge and stretched out. I'm completely unaware as to how this happened. I can hardly tell what they are and all of them no longer fit on the toolbar. Please, help me fix this annoyance. I'm usually pretty good at figuring it out myself, but I am completely stumped by this one.
Start Firefox in <u>[[Safe Mode|Safe Mode]]</u> to check if one of the extensions (Firefox/Firefox/Tools > Add-ons > Extensions) or if hardware acceleration is causing the problem (switch to the DEFAULT theme: Firefox/Firefox/Tools > Add-ons > Appearance).
*Do NOT click the Reset button on the Safe Mode start window or otherwise make changes.
*https://support.mozilla.org/kb/Safe+Mode
*https://support.mozilla.org/kb/Troubleshooting+extensions+and+themes
Try to set the gfx.hidpi.enabled pref to 2 on the <b>about:config</b> page.
*http://kb.mozillazine.org/about:config -
I made a video of our summer vacation on imovie. It's over an hour long. When I try to share it, the audio syncs incorrectly at about the 15 minute mark and is off for the rest of the movie. Is there a way to fix this? I think I have imovie 09 with all the availbable updates.
If you think getting your web pages to appear OK in all the major browsers is tricky then dealing with email clients is way worse. There are so many of them.
If you want to bulk email yourself, there are apps for it and their templates will work in most cases...
http://www.iwebformusicians.com/Website-Email-Marketing/EBlast.html
This one will create the form, database and send out the emails...
http://www.iwebformusicians.com/Website-Email-Marketing/MailShoot.html
The alternative is to use a marketing service if your business can justify the cost. Their templates are tested in all the common email clients...
http://www.iwebformusicians.com/Website-Email-Marketing/Email-Marketing-Service. html
"I may receive some form of compensation, financial or otherwise, from my recommendation or link." -
None of the quicktime videos from websites play anymore. This started yesterday. Before that I could play them all. Now none of them work. Has anyone had this problem? How did you fix it? Thanks in advance for the help!
Did you try
1, resetting the device
2, deleting all cookies / history items of Safari? -
Revision: 4764
Author: [email protected]
Date: 2009-01-30 11:47:42 -0800 (Fri, 30 Jan 2009)
Log Message:
Fixes to flex4tests to [finally] account for the API changes in effects in yesterday's commit. Tests now compile and run...
QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: Ryan
Modified Paths:
flex/sdk/trunk/development/eclipse/flex/flex4test/src/EffectsProperties.mxml
flex/sdk/trunk/development/eclipse/flex/flex4test/src/components/AnimationPropertiesForm. mxml
flex/sdk/trunk/development/eclipse/flex/flex4test/src/layouts/NumberInterpolatorWrapping. as
flex/sdk/trunk/development/eclipse/flex/flex4test/src/testWheel.mxmlIt happens on
darkchronicles.net
thedreamkeep.com
atittercompany.com
codexdemagicus.com
So far, it is happening to 4 sites that I work with. Yes, they all use the same server, and the server company swears it is not their end. I don't quite understand what you mean "is it coming from a web page?" I edit and upload pages in Dreamweaver and then when I try to check the edited pages in Chrome, Firefox, Opera or Safari on 3 different computers that I have to work on, I get the error. If I edit in Dreamweaver and then use Core FTP LE to upload, then check the pages, I do not get the error. -
I had to replace the hard drive on my computer. I am now trying to download Adobe Photoshop CS6, previously purchased. I get an error that files are missing after waiting for the whole download. I have Windows7
The error msg said that the file archive part of Adobe photoshop CS6 is missing and that I need all parts in the same folder.
-
Itouch was plugged into new window machine moving from vista to window 7 and froze with itouch window showing the itune icon and usb cord photo on screen.
It will not reset with off and select button holds.
does not show up in the directory of windows vista or 7
does not show up in Mac directory or disk utiltity window
will try to go to restore on mac but I am still at 10.4.11
and i get the computer screen message:
iTunes[8143:10e2b]: server error (94): This device isn't eligible for the requested build.
and got a couple of pages of dianostic stuff when clicked on ask for details
ipod did show up in mac itunes window until it gave me the "go away" message, but the only choice it gave me was to update the ipod software
I do not need to update the os on my mac mini I am happy with it for as long this it lasts
Any help here would be greatly appreciated
oh and when I seached this discussion data base I came across a couple of links of try this
But the link took me you I am not authorized....sigh
Any ideas???
Thanks
BarryThanks for your advice These apple forums have kept me up and running for years and I really appreciate the time you and others take with me.
I have followed one of your links to print cnfig in a run box and go down that path but it would not allow me to exit and restart without choosing quit On restart there was a cheer of hope from me apple found in itunes and it showed up in the device and printer window but after 10 min or so of restore it said it is stuck in recovery and I must fix that issue first
Yeah Bite my tongue did a second restore attemp and it syn'd to my itunes!! I put on the old tune do you believe in magic and it is playing!!
Great Scott Now I can give it back to my daughter to set up on her account!!
Saved Thanks so much for your time and expertise!! -
I have a simple column chart grouping on 1 value on the category axis. For simplicity's sake, we are plotting $ amounts grouping by Month on the category axis. I right click on the data series and choose "Add calculated series...". I choose moving average. I want to move the average over at least 2 periods.
When I run the report, I get the error "Formula error - there are not enough data points for the period". The way the report is, I never have a guaranteed number of categories (there could be one or there could be 5). When there is 2 or more, the chart renders fine, however, when there is only 1 value, instead of suppressing the moving average line, I get that error and the chart shows nothing.
I don't think this is entirely acceptable for our end users. At a minimum, I would think the moving average line would be suppressed instead of hiding the entire chart. Does anyone know of any workarounds or do I have to enter another ms. connect bug/design consideration.
Thank you,
DanI was having the same error while trying to plot a moving average across 7 days. The work around I found was rather simple.
If you right click your report in the solution explorer and select "View Code" it will give you the underlying XML of the report. Find the entry for the value of your calculated series and enter a formula to dynamically create your periods.
<ChartFormulaParameter Name="Period">
<Value>=IIf(Count(Fields!Calls.Value) >= 7 ,7, (Count(Fields!Calls.Value)))</Value>
</ChartFormulaParameter>
What I'm doing here is getting the row count of records returned in the chart. If the returned rows are greater than or equal to 7 (The amount of days I want the average) it will set the points to 7. If not, it will set the number to the amount of returned rows. So far this has worked great. I'm probably going to add more code to handle no records returned although in my case that shouldn't happen but, you never know.
A side note:
If you open the calculated series properties in the designer, you will notice the number of periods is set to "0". If you change this it will overwrite your custom formula in the XML. -
Error while updating HRA in infotype 581 for the employees.
Hi,
System is showing an error while updating HRA in infotype 581 for the employees.
The error is No Automatic updation for IT0008. Allowance Grouping not found.
What is this error. Please advice what to do in this case.Hi Deepthi,
Check Table V_T7INA5,V_T7INA1,V_T7INA3 and V_T7INA9 also.
Check it,
Regards,
Vinod.
Edited by: vinod rao on Jul 30, 2008 1:23 PM -
When i try to restore my ipod i recieve an error message saying that "problem downloading softwar for the ipod owner's ipod. error (-23) Please help i need to restore because my daughter somehow set a passcode lock on it and didnt know it and does not know passcode.
There was a problem downloading the software for the iPhone (or another iOS device)
See the steps below for error codes 3000-3999.
Errors 3000-3999 (3004, 3013, 3014, 3018, 3164, 3194, and so on): Error codes in the 3000 range generally mean that iTunes cannot contact the update server (gs.apple.com) on ports 80 or 443.
Update to the latest version of iTunes.
Verify the computer's date and time are accurate.
Check that your security or firewall software is not interfering with ports 80 or 443, or with the server gs.apple.com.
Follow Troubleshooting security software. Often, uninstalling third-party security software will resolve these errors.
An entry in your hosts file may be redirecting requests to gs.apple.com (see "Unable to contact the iOS software update server gs.apple.com" above).
Internet proxy settings can cause this issue. If you are using a proxy, try without using one.
Test restoring while connected to a known-good network.
Maybe you are looking for
-
How can I get my pictures back after the iPhone update?
The update deleted all of my pictures and information. I did not realize that my pictures weren't being saved to the cloud. Are they gone forever? I would be grateful for any sort of help you all can give me! Apple, please take note. These inciden
-
So just the document I was last working on in pages won't open. I can't email it either it just sits preparing the document no matter what format I try. I can copy it, but the copies don't open either. I tried deleting documents in pages as well as t
-
Receiving PO and Invoicing out
i have 10,000 serial items where all serial numbers are in excel sheet is there any easy method where i can copy and paste those serial numbers in one shot and at the same time while invoicing out just copy and paste all those serial numbers from exc
-
I receive an error when accessing my Itunes store as follows: We cannot process your Itunes Store request error code ~1009 When I run the Diagnostics I get the following: Microsoft Windows 7 Business Edition (Build 7600) Dell Inc. Latitude E6420 iTun
-
PS CS5 Shape Tool Hexagon Corner Smoothing
For the love of it I simply cannot figure out how to change the "corner radius" for the shape tool's polygon tool. I set it to 6 sides and with SMOOTHED CORNERS off, it creates a hexagon as expected. But if I turn on SMOOTHED CORNERS, it almost make