F110 not usting XBLNR??
Hi all,
I have a problem. When I execute automatic payment (F110) then the XBLENR field or the 'Reference' is not copyed to the reconciliation bank account. This results with inability to close the items automatically when the bank account statement is posted since the reference number is missing in SAP???
Thanks for the help,
Dusko
check which sort key has been used in bank account master data. set the same to document no and assignment no field would be updated accordingly
Similar Messages
-
F110- not able to clear the debit and credit entry with the same reference
Hi,
I am not able to clear the debit and credit entry with the same reference in F110 even after having the payment terms as immediate payment, payment method is maintained in document no and vendor master data. Both debit and credit entry is appearing in FBL1N as an open item but it is not appearing in F110.
In Log message appear as 8 days grace period is existing whereas as payment term is just 0001- immediate payment.
Kindly advice me what could be wrong.
Thanks,
Manya.Hi,
Credit and debit balance in vendor account are not cleared automatically when only vendor line item has payment method and credit memo has not payment method. Also when there is not payment method maintained in vendor master data.
In such case to avoid payment to vendor when vendor has debit balance we perform debit balance check.
In second scenario when u2018individual paymentu2019 is selected in vendor master data vendor invoice and credit memo are not cleared automatically in F110.
To setoff vendor credit and debit balance in F110 you to uncheck u2018individual paymentu2019 check in vendor master data > company code data > payment data.
Thanks!
Raju -
F110 not picking up documents for payment
Hi Gurus,
When we run payment proposal, few lines are not getting selected for payment.
Only first line item is getting selected , remaining are ignored.
Payment method is same for all. there is no payment blocks.
pl advice what other points to check..?
rgds
nehapayment method same
no payment block
immediate payment terms for all
all documents with document date, posting date and amount same.
Only document number different.
Only first doc selected in payment proposal rest ignored.
if i go to addl selection criteria and put any other document number alone, then it is getting selected.
meaning at a time only 1 line selcted for payment.
is there any such restriction which can be set for F110..?
thanks
neha -
Payment program F110 not generating IDoc
Hi All
while running payment program F110 I get a sucess message IDocs generated for company code and payment method, In the payment log i see this infomation.
when i check these IDoc's in WE02 I can't find any of these IDoc's. It looks to me the program RFFOEDI1 with the variant I created is not getting executed in spite of the check box "Generate IDoc" being checked.
can any one suggest what would be wrong?
Thanks
PranavHi All,
Thanks for the quick response. Following are the config made with forms;
In Paying company code setup:
Form for payment adivce: F110_US_AVIS
EDI accompanying sheet form: F110_EDI_01
In Payment method in company code:
Form for payment medium : F110_EDI_01
Next form : F110_US_DTA
I have checked with all other configuration and seems to be in place. Please let me know if these config regarding forms are correct.
When I run the program REFFOEDI1 with the variant I created these IDocs are getting generated. These are not getting generated when I run the payment program F110. I am missing some thing which is not triggering this program from payment program. Please let me know if you have any suggestion.
Thanks
Pranav -
Hello Gurus,
I have one BTE ZPFRFI_PROCESS_00001120 which works properly for Tcode FB01 but is not triggered by F110. Please help.Hi,
What is ur exact requirement.
I had a requirement to send a mail to vendor while paying through F110.
I used BTE 00002040 in Infosystem (processes) for tcode F110.
U can chk out the same BTE by copying sample FM in Z..FM.
u need to create entry in Customer Enhancement.
Plz chk out if dont know the procedure let me know.
Regards,
Ankur. -
Hello Gurus,
I have a BTE for FI ZPFRFI_PROCESS_00001120 which is a copy of BTE SAMPLE_PROCESS_00001120 . This BTE is also configured properly and activated.But when i run F110 transaction this BTE is not trigerred .if anyone have come across this issue please reply.Hi,
What is ur exact requirement.
I had a requirement to send a mail to vendor while paying through F110.
I used BTE 00002040 in Infosystem (processes) for tcode F110.
U can chk out the same BTE by copying sample FM in Z..FM.
u need to create entry in Customer Enhancement.
Plz chk out if dont know the procedure let me know.
Regards,
Ankur. -
F110 - not able to make the payment error - Check amts -ex rate is too high
Hi Experts,
While running F110 Iam getting the below error. The proposal runs fine. When I run the payment run the status shows "Payment run has been carried out" but no document has been generated. The log says-
"Job started
Step 001 started (program SAPF110S, variant &0000000004845, user ID DWARKID)
Log for payment run for payment on 16.02.2011, identification I0038
Check amounts - exchange rate is too high ( 10,348.00395-)
End of log
Job finished
Its saying Ex Rate is too high. Could you please let me know how to resolve this.
Thanks & Regards,
DwarakHello Vishwa,
I tried with both the options. Still getting the same error.
Please let me know what needs to be done.
Job started
Step 001 started (program SAPF110S, variant &0000000004848, user ID DWARAKID)
Log for payment run for payment on 17.02.2011, identification I0038
Check amounts - exchange rate is too high ( 10,348.00395-)
End of log
Job finished
Thanks & Regards,
Dwarakanath -
dear all,
please help me with a strange error message in F110. I create a proposal and the system tells me Wrong values for payment method. Do you know where could be the problem.
Thank you,
DesimiraHi,
You have the problem in running of F110 right. Once you can check the FBZP in payment method per country. Here you can check which type of payment method they were configure like( check, bank transfer ect,.).After will finish the checking you will go to F110 and click on create a proposal and give the payment method what ever you can assign in payment method per country.
I think your problem will salve this idea. Give me the reply. -
F110 - payment on vendor open items as of a prior week
Hello,
I am trying to run F110 to pay vendor 1000's open items as of jan 2nd. Can anyone please tell me what how can I restrict the F110 to pick open items as of Jan 2nd? Do i enter it in the "docs entered upto" field? I have tried that and that doesnt seem to work.
Also how does the Free selection tab work?
My client ran FBL1N for vendor 1000 - open item as of Jan 8th - then sorts by payment date of Jan 2nd and these are the items that we are trying to pay using F110 - not sure how to bring it in F110 as it brings a lot more stuff than that needed.
Thanks.Hi Anusha,
For that you can do through this way
In F110 there is one option that is next payment date
If you will give there 9th Jan date system will pick all open item from run date to 8thJan
So you can pick all open items through this way.
Free Selection tab is working for inculsive and exculsive for field selcetion
If it is Inclusive system sorted that for selection
If it is Exclusive system deselected for selection
If you have any doubt feel free to ask
May be this information is useful to you
Regards
Surya -
Blank value in field VBAK-XBLNR after using bapi_customerreturn_create.
Hi All,
I am using BAPI bapi_customerreturn_create for return order creation. I am passing the required details where header includes the invoice number as reference doc ( REF_DOC) which gets updated in table VBAK field XBLNR.
But after execution of BAPI , For few return orders I do not see the XBLNR value updated in VBAK where as the invoice is maintained against all the deliveries for these orders.
Can any one tell me if there is any logic or condition which do not allow XBLNR update? Please help me if anybody has come across the issue.
Thanks,
RupaliHi Rupali,
RETURN_HEADER_IN-REF_DOC_L is the correct field to update VBAK-XBLNR. Use this field and VBAK-XBLNR will update always.
I verified that it is mapped to VBAK-XBLNR in the BAPI before answering you. RETURN_HEADER_IN-REF_DOC doesn't go to XBLRN that is for sure.
The return orders where it is filling the XBLNR field in your production system are possibly pulling it from the parent Sales order or Billing document against which they were created. Some of those documents may be having it while others may be missing it, which explains why it is filled in some cases while others it is not.
Best regards,
Vishnu -
Not all files work in log and transfer
Hoping maybe someone has found a fix to this issue...
When editing an HDV project not all my .m2t files (all in the same folder) want to transfer using Log and Transfer. Most of the files will transfer correctly but sometimes it skips a file and puts a red exclamation mark in the status. Not sure why most files work and a few don't when they are all from the same folder and from the same shoot. The files will open fine in other 3rd party apps so the files are ok.
Thanks in advance for any help!
MikeMike Cole1 wrote:
Not sure why most files work and a few don't when they are all from the same folder and from the same shoot. The files will open fine in other 3rd party apps so the files are ok.
FCP may be a bit more discriminating on the file structure or header integrity, dunno, never shot HDV myself but we've seen similar posts for years. Try copying the files to your drive first and then ingesting.
Side note, ust because other apps can open the files doesn't mean they are intact or useable. You don't mention what these apps are but if you can export form them, do that and then ingest the new file which might have all of its glitches reparied to suit FCP.
bogiesan -
FB02 - Field KIDNO not on screen for credit doc (customer) / debit (vendor)
Hello,
I am trying to manually change field BDEG-KIDNO on transaction FB02.
I used custumization to make this field changeble when:
. Line item not cleared
. No invoice-related credit memo
I do not have the "Customer Debit or Vendor Credit" checked since I intended to change both debit and credit documents for customers and vendors.
When I used transaction FB02 to change this field I have no problems with debit documents on customers and credit documents on vendors but I cannot change it since the field BSEG-KIDNO does not appear on screen.
Is there any customization for whether field BSEG-KIDNO appears on screen for credit documents for customers and debit documents for vendors?
Any help will be appreciated.
Thank you
ElisabeteHello,
The field I want to change is BSEG_KIDNO not BKPF-XBLNR.
This field (payment reference) appears on the line item if customer debit document and vendor credit document but not if customer credit document and vendor debit document.
Thanks,
Elisabete -
Hi,
I'd need to extract, using SQVI, the supplier delivery note number starting from part number and/or supplier and display the main information (supplier, supplier delivery note number, part number, posting date, supplier delivery note date, quantity). Which are the right tables to use?
Thank you in advance!Hello,
By part number I assume you mean material? Or do you mean MPN?
In case its just material:
Inner join of MSEG, M_MEBEX and MSEG should provide you all the details you require:
1) Material - on the selection screen - MSEG - MATNR
2) Supplier - on the selection screen - MSEG - LIFNR
3) Supplier Delv note - M_MEBEX - XBLNR
4) Posting Date: MSEG - BUDAT_MKPF
5) Document Date / Supplier Note date - MKPF- BLDAT
6) Delv note quantity - MSEG - LSMNG -
Help with Upgrade report in FI
Hey All Gurus,
Im in a thick soup here. I am trying to do something like this -
if you see the selection screen i have rep and super rep, when a user enters a rep value --- it should use the same value to pull all open items for the super rep as well, since they are essentially the same. please help! this one needs to be done fast. i am pasting the code so that it will be easier ...
thanks a million!
*& Report ZFDOFW04_NEW
REPORT ZFDOFW04_NEW MESSAGE-ID FR
LINE-SIZE 132
LINE-COUNT 60.
*==================================================================
Program: ZFDOFW03 - Aged Trial Balance Report
This produces an Accounts Receivable Past Due Aging Report
in a more simplified/condensed format than the
SAP supplied aging report program - RFDOPR10.
This program is a modified copy of RFDOFW00, - a SAP
Future-Due Report.
This was a 'rush' job - program probably should be
rewritten someday not using logical databases as that
maybe why this runs so slowly!
Original: Feb 1997.
MAINTENANCE HISTORY:
NES071797 Copied from ZFDOFW03. Adding parameter for saeles rep.
JDEDERER - changed header text so it is differnet from ZFDORW03. 9/23
*TEXT SYMBOLS :
001 Open items per
002 O p e n
003 D u e o n
004 cc ba in total
005 until
006 Days until
007 Days over
008 Days
009 over
011 valid until........
012 Insurance limit.....
016 F u t u r e
017 + days
018 D u e
020 Last dunn.notice...
021 Dunning level....
030 S U M M A R Y S H E E T
031 =====================
050 Name Page
051 Burton Snowboard
SELECTION TEXTS:
SUMMEN Output totals only
TAGE1 Due date I until
TAGE2 Due date II until
TAGE3 Due date III until
TAGE4 Due date IV until
TABLES: T001, KNA1, KNB1, KNB5, BSID, BSEGA, RFPDO1, KNVP,
T014, "credit control areas JAM
KNVK, "cust master - contact partner JAM
T014T, "Credit control areas names
BKPF, "TONY ISSUE 4743
TVKO, "TONY ISSUE 4743
KNKK. "cust master - credit mgmt JAM
TYPES: BEGIN OF TOT_TYPE, "DEVK939546
BUKRS LIKE LFB1-BUKRS, "DEVK939546
GSBER LIKE BSIK-GSBER, "DEVK939546
KKBER LIKE BSID-KKBER,
RAST1 TYPE P, "DEVK939546
RAST2 TYPE P, "DEVK939546
RAST3 TYPE P, "DEVK939546
RAST4 TYPE P, "DEVK939546
RAST5 TYPE P, "DEVK939546
RAST6 TYPE P, "DEVK939546
RAST7 TYPE P, "DEVK939546
END OF TOT_TYPE, "DEVK939546
TOT_TAB TYPE TOT_TYPE OCCURS 0. "DEVK939546
CONSTANTS:
C_FALSE TYPE I VALUE 0, "JAM
C_TRUE TYPE I VALUE 1.
DATA: BEGIN OF GTAB OCCURS 1000,
SUPER(10) TYPE C, "TONYC
REP(10) TYPE C, "TONYC
FILKD(10), "tonyc show buying groups
LAND1 LIKE KNA1-LAND1,
GSBER LIKE BSIK-GSBER,
REGIO LIKE KNA1-REGIO,
NAME1 LIKE KNA1-NAME1,
NAME2 LIKE KNA1-NAME2,
ORT01 LIKE KNA1-ORT01,
TELF1 LIKE KNVK-TELF1, "telephone number JAM
CONT_NAME1 LIKE KNVK-NAME1, "contact name JAM
NAMEV LIKE KNVK-NAMEV, "contact name JAM
KUNNR LIKE KNA1-KUNNR, "TONYC
BUKRS LIKE LFB1-BUKRS, "TONYC
KKBER LIKE BSID-KKBER, "tonyc issue #2500
ZTERM LIKE KNB1-ZTERM, "tonyc issue #2500
KLIMK_TXT(22) TYPE C, "credit limit JAM
WAERS LIKE T014-WAERS, "currency JAM
SORT_GSB, "TONYC
RAST1 TYPE P,
RAST2 TYPE P,
RAST3 TYPE P,
RAST4 TYPE P,
RAST5 TYPE P,
RAST6 TYPE P,
RAST7 TYPE P,
T_IND,
END OF GTAB.
DATA HOLD_NAME(40).
DATA HOLD_BUKRS LIKE T001-BUKRS. "tonyc
DATA GOOD_SUPER_REP. "tonyc
DATA: HOLD_REP LIKE KNA1-KUNNR, "tonyc
SUPER_NAME LIKE KNA1-NAME1, "tonyc
REP_NAME LIKE KNA1-NAME1. "tonyc
DATA NAME_LENGTH(2) TYPE C. "tonyc
DATA BACKSLASH(3) VALUE ' / '. "tonyc
DATA REPS_INFO(70) TYPE C. "tonyc
DATA REPORT_TYPE(12) TYPE C.
DATA: C_CREDIT_ABTNR LIKE KNVK-ABTNR. "dept 003 = credit
DATA Z_HOLD_LIMIT(22) TYPE N. "tonyc issue#2216
DATA Z_DESCRIPTION(18). "tonyc issue#2216
DATA WRITE_TOTAL.
DATA HOLD_KLIMK LIKE KNKK-KLIMK.
DATA HOLD_KLIMK2(22) TYPE C.
DATA HOLD-CTLPC LIKE KNKK-CTLPC.
DATA HOLD-CTLPC-TEXT LIKE T691T-RTEXT.
DATA HOLD_ZTERM LIKE KNVV-ZTERM.
DATA TOTAL_RAST7 TYPE P.
DATA TOTAL_RAST2 TYPE P.
DATA TOTAL_RAST3 TYPE P.
DATA TOTAL_RAST4 TYPE P.
DATA TOTAL_RAST5 TYPE P.
DATA TOTAL_RAST6 TYPE P.
DATA TOTAL_RAST1 TYPE P.
DATA HOLD_BUKRS2 LIKE T001-BUKRS.
DATA HOLD_KKBER LIKE BSID-KKBER.
DATA HOLD_KKBER_DESC LIKE T014T-KKBTX.
DATA HOLD_KKBER_DESC2 LIKE T014T-KKBTX.
DATA HOLD_KUNNR2 LIKE KNA1-KUNNR.
DATA L_FIRST_DAY_OF_FISCAL LIKE SY-DATUM. "tonyc issue #3047
DATA: STAB TYPE TOT_TAB WITH HEADER LINE, "DEVK939546
RTOT TYPE TOT_TAB WITH HEADER LINE, "DEVK939546
STOT TYPE TOT_TAB WITH HEADER LINE, "DEVK939546
OP,
MAXMANDT LIKE DD_STIDA,
MAXMANST TYPE P,
SUMKLIMB TYPE P,
SUMVLIBB TYPE P,
VERZUG TYPE P,
OBAD TYPE P,
BLOCK_CNT TYPE P,
INTENS,
ONEBYTE(1) TYPE C,
TAGE1A LIKE RFPDO1-ALLGFAEL,
TAGE2A LIKE RFPDO1-ALLGFAEL,
TAGE3A LIKE RFPDO1-ALLGFAEL,
HOLD_KUNNR LIKE KNA1-KUNNR, "tonyc
HOLD_SUPER LIKE KNA1-KUNNR, "tonyc
HOLD_REP2 LIKE KNA1-KUNNR, "tonyc
SUPER_REP LIKE KNA1-KUNNR, "tonyc
TEMP_TELF1 LIKE KNA1-TELF1, "JAM
IT_T014 LIKE T014 OCCURS 0 WITH HEADER LINE, "JAM
G_KLIMK_TXT LIKE GTAB-KLIMK_TXT, "JAM
G_WAERS LIKE GTAB-WAERS, "JAM
G_CONT_NAME(50) TYPE C. "JA
DATA FILL_REP_INFO.
BC SUNILP 05/14/2007
DATA: BEGIN OF ITAB_VBRP OCCURS 0.
INCLUDE STRUCTURE VBRP.
DATA: END OF ITAB_VBRP.
DATA: T_PERC TYPE F,
SUM_NETWR LIKE VBRP-NETWR.
*DATA: GTAB_LINES LIKE GTAB OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF GTAB_LINES OCCURS 0.
INCLUDE STRUCTURE GTAB.
DATA: IND(1),
OBAD TYPE P.
DATA: END OF GTAB_LINES.
DATA: BEGIN OF ITAB_VBRP1 OCCURS 0,
VBELN LIKE VBRP-VBELN,
NETWR LIKE VBRP-NETWR,
ZZMREP LIKE VBRP-ZZMREP, "Super Rep
ZZLREP LIKE VBRP-ZZLREP, "Rep
PERC TYPE F,
END OF ITAB_VBRP1.
EC SUNILP 05/14/2007
BEGIN_OF_BLOCK 2.
PARAMETERS: REGIO LIKE KNA1-REGIO.
PARAMETERS: CONSOL AS CHECKBOX. "TONYC
PARAMETERS: P_KKBER AS CHECKBOX, "TONYC
P_CONV AS CHECKBOX. "tonyc issue #3047
PARAMETERS: SUMMEN LIKE RFPDO1-ALLGSUMM,
TAGE1 LIKE RFPDO1-ALLGFAEL DEFAULT '30',
TAGE2 LIKE RFPDO1-ALLGFAEL DEFAULT '60',
TAGE3 LIKE RFPDO1-ALLGFAEL DEFAULT '90',
TAGE4 LIKE RFPDO1-ALLGFAEL DEFAULT '120'.
END_OF_BLOCK 2.
BEGIN_OF_BLOCK 3.
SELECT-OPTIONS: P_SUPREP FOR KNVP-KUNNR, "Super REP "DEVK939546
P_REP FOR KNVP-KUNNR, "SALES REP "DEVK939546
P_VKORG FOR TVKO-VKORG, "TONYC ISSUE 4743
P_LOTKZ FOR BKPF-LOTKZ. "TONYC ISSUE 4743
END_OF_BLOCK 3.
INITIALIZATION. "JAM
PERFORM LOAD_T014. "JAM
refresh dd_augdt.
clear dd_augdt.
dd_augdt-option = 'EQ'.
dd_augdt-sign = 'I'.
dd_augdt-low = ' '.
append dd_augdt.
AT SELECTION-SCREEN.
IF CONSOL = 'X'.
IF NOT P_SUPREP[] IS INITIAL. "DEVK939546
MESSAGE E999 WITH 'Consolidated report not allowed w/ Super Rep'.
ENDIF.
ENDIF.
CHECK IF THE REP INFO IS ADDED OR NOT - VS
IF NOT P_SUPREP IS INITIAL OR"TONY ISSUE 4743
NOT P_REP IS INITIAL."TONY ISSUE 4743
FILL_REP_INFO = 'X'."TONY ISSUE 4743
ENDIF."TONY ISSUE 4743
START-OF-SELECTION.
get_frame_title 2.
add function module to track usage JD 10/13/98 *****
CALL FUNCTION 'Z_RUN_LOG'
EXCEPTIONS
OTHERS = 1.
*IF NOT P_SUPREP IS INITIAL AND NOT P_REP IS INITIAL.
P_SUPREP = ' '.
*ENDIF.
GET KNA1 FIELDS LAND1 REGIO KUNNR NAME1 NAME2 ORT01 TELF1. "JAM
new-page.
skip.
TEMP_TELF1 = KNA1-TELF1.
MAXMANDT = '19000101'.
MAXMANST = 0.
SUMVLIBB = 0.
PERFORM GET_CUST_CONTACT. "JAM
Check sales rep- NES071797
Get any valid record and exit.
IF NOT p_suprep[] IS INITIAL. "DEVK939546 "TONY ISSUE 4743 start
good_super_rep = ' '.
SELECT kunn2 INTO super_rep FROM knvp UP TO 1 ROWS
WHERE
kunnr = kna1-kunnr AND
parvw = 'ZS' AND
kunn2 IN p_suprep.
EXIT.
ENDSELECT.
IF sy-subrc = 0.
good_super_rep = 'X'.
gtab-super = super_rep.
super_rep = ' '.
ENDIF.
CHECK good_super_rep = 'X'.
SELECT kunn2 INTO gtab-rep FROM knvp UP TO 1 ROWS
WHERE
kunnr = kna1-kunnr AND
parvw = 'ZR' AND
kunn2 IN p_rep.
EXIT.
ENDSELECT.
CHECK sy-subrc = 0.
ELSEIF NOT p_rep[] IS INITIAL. "DEVK939546
SELECT kunn2 INTO gtab-rep FROM knvp UP TO 1 ROWS
WHERE
kunnr = kna1-kunnr AND
parvw = 'ZR' AND
kunn2 IN p_rep.
EXIT.
ENDSELECT.
CHECK sy-subrc = 0.
ENDIF. "TONY ISSUE 4743 end
GET KNB1 FIELDS BUKRS VLIBB ZTERM. "tonyc #2500
GTAB-BUKRS = KNB1-BUKRS.
GTAB-ZTERM = KNB1-ZTERM.
SUMVLIBB = SUMVLIBB + KNB1-VLIBB.
GET KNB5.
IF KNB5-MADAT > MAXMANDT.
MAXMANDT = KNB5-MADAT.
ENDIF.
IF KNB5-MAHNS > MAXMANST.
MAXMANST = KNB5-MAHNS.
ENDIF.
SUMKLIMB = SUMKLIMB + KLIMB.
GET BSID.
CHECK BSID-BSTAT = SPACE.
field was intended for Business Area, changed to use Currency
GTAB-GSBER = BSID-WAERS.
IF P_KKBER = 'X'. "TONYC ISSUE #2500
IF BSID-KKBER = ' '.
GTAB-KKBER = BSID-BUKRS.
ELSE.
GTAB-KKBER = BSID-KKBER. "TONYC ISSUE #2500
ENDIF.
ENDIF. "TONYC ISSUE #2500
SELECT SINGLE * FROM BKPF "TONY ISSUE 4743
WHERE BUKRS = BSID-BUKRS "TONY ISSUE 4743
AND BELNR = BSID-BELNR "TONY ISSUE 4743
AND GJAHR = BSID-GJAHR. "TONY ISSUE 4743
BC SUNILP 05/14/2007
IF BKPF-XREF2_HD IS NOT INITIAL.
CHECK BKPF-XREF2_HD IN P_SUPREP. "TONY ISSUE 4743
ELSE.
IF P_REP[] IS INITIAL.
REFRESH: ITAB_VBRP, ITAB_VBRP1.
IF NOT BKPF-XBLNR IS INITIAL.
SELECT * FROM VBRP INTO ITAB_VBRP WHERE VBELN = BKPF-XBLNR.
APPEND ITAB_VBRP. CLEAR ITAB_VBRP.
ENDSELECT.
CHECK ITAB_VBRP[] IS NOT INITIAL.
CLEAR: SUM_NETWR.
LOOP AT ITAB_VBRP.
CHECK ITAB_VBRP-ZZMREP IN P_SUPREP.
CHECK ITAB_VBRP-ZZLREP IN P_REP.
MOVE-CORRESPONDING ITAB_VBRP TO ITAB_VBRP1.
COLLECT: ITAB_VBRP1.
SUM_NETWR = SUM_NETWR + ITAB_VBRP-NETWR.
CLEAR ITAB_VBRP.
ENDLOOP.
CHECK ITAB_VBRP1[] IS NOT INITIAL.
LOOP AT ITAB_VBRP1.
CLEAR: T_PERC.
T_PERC = ( ITAB_VBRP1-NETWR / SUM_NETWR ).
ITAB_VBRP1-PERC = T_PERC.
MODIFY ITAB_VBRP1 INDEX SY-TABIX TRANSPORTING PERC.
ENDLOOP.
ENDIF.
ENDIF.
ENDIF.
EC SUNILP 05/14/2007
IF FILL_REP_INFO = 'X'.
GTAB-SUPER = BKPF-XREF2_HD. "TONY ISSUE 4743 "MOVE THE CONTENTS OF XREF2_HD TO GTAB INTERNAL TABLE - VS
ENDIF.
BC SUNILP 05/14/2007
IF BKPF-XREF1_HD IS NOT INITIAL.
CHECK BKPF-XREF1_HD IN P_REP. "TONY ISSUE 4743 " ELSE MOVE THE CONTENTS OF - VS
ELSE.
REFRESH: ITAB_VBRP, ITAB_VBRP1.
IF NOT BKPF-XBLNR IS INITIAL.
SELECT * FROM VBRP INTO ITAB_VBRP WHERE VBELN = BKPF-XBLNR.
APPEND ITAB_VBRP. CLEAR ITAB_VBRP.
ENDSELECT.
CHECK ITAB_VBRP[] IS NOT INITIAL.
CLEAR: SUM_NETWR.
LOOP AT ITAB_VBRP.
CHECK ITAB_VBRP-ZZMREP IN P_SUPREP.
CHECK ITAB_VBRP-ZZLREP IN P_REP.
MOVE-CORRESPONDING ITAB_VBRP TO ITAB_VBRP1.
COLLECT: ITAB_VBRP1.
SUM_NETWR = SUM_NETWR + ITAB_VBRP-NETWR.
CLEAR ITAB_VBRP.
ENDLOOP.
CHECK ITAB_VBRP1[] IS NOT INITIAL.
LOOP AT ITAB_VBRP1.
CLEAR: T_PERC.
T_PERC = ( ITAB_VBRP1-NETWR / SUM_NETWR ).
ITAB_VBRP1-PERC = T_PERC.
MODIFY ITAB_VBRP1 INDEX SY-TABIX TRANSPORTING PERC.
ENDLOOP.
ENDIF.
ENDIF.
EC SUNILP 05/14/2007
IF FILL_REP_INFO = 'X'.
GTAB-REP = BKPF-XREF1_HD. "TONY ISSUE 4743
ENDIF.
CHECK BKPF-LOTKZ IN P_LOTKZ. "TONY ISSUE 4743
CHECK BKPF-BRNCH IN P_VKORG. "TONY ISSUE 4743
SELECT SINGLE FILKD INTO GTAB-FILKD FROM BSEG
WHERE BUKRS = BSID-BUKRS
AND BELNR = BSID-BELNR
AND GJAHR = BSID-GJAHR
AND BUZEI = BSID-BUZEI.
gtab-gsber = bsid-gsber.
get rep info for each bsid record
IF NOT P_SUPREP IS INITIAL. "tonyc
SELECT KUNNR FROM VBPA INTO HOLD_REP UP TO 1 ROWS "tonyc
WHERE VBELN = BSID-VBELN "tonyc
AND PARVW = 'ZR'. "tonyc
ENDSELECT. "tonyc
IF NOT P_REP IS INITIAL. "tonyc
CHECK HOLD_REP = P_REP. "tonyc
ENDIF. "tonyc
GTAB-REP = HOLD_REP. "tonyc
HOLD_REP = ' '. "tonyc
ENDIF. "tonyc
PERFORM GET_KNKK_INFO. "JAM
GTAB-KLIMK_TXT = G_KLIMK_TXT.
GTAB-WAERS = G_WAERS.
GTAB-LAND1 = KNA1-LAND1.
GTAB-REGIO = KNA1-REGIO.
GTAB-KUNNR = KNA1-KUNNR.
GTAB-NAME1 = KNA1-NAME1.
GTAB-NAME2 = KNA1-NAME2.
GTAB-ORT01 = KNA1-ORT01.
*if there is no phone number for the contact, pull the phone
*number from the sold-to
IF KNVK-TELF1 = ' '.
GTAB-TELF1 = TEMP_TELF1.
ELSE.
GTAB-TELF1 = KNVK-TELF1. "JAM
ENDIF.
GTAB-CONT_NAME1 = KNVK-NAME1.
GTAB-NAMEV = KNVK-NAMEV.
verzug = bsega-netdt - dd_stida.
VERZUG = DD_STIDA - BSEGA-NETDT. "days past due calculation
OP = 'X'.
GTAB-RAST2 = GTAB-RAST3 = GTAB-RAST4 = 0.
GTAB-RAST5 = GTAB-RAST6 = OBAD = GTAB-RAST7 = 0.
IF VERZUG LE 0. "future due
GTAB-RAST1 = BSEGA-WRSHB.
ELSE.
IF VERZUG LE TAGE1. "past due 1 to tage1 days
GTAB-RAST1 = BSEGA-WRSHB.
GTAB-RAST2 = BSEGA-WRSHB.
OBAD = BSEGA-WRSHB.
ELSE.
IF VERZUG LE TAGE2. "past due tage1 to tage2 days
GTAB-RAST1 = BSEGA-WRSHB.
GTAB-RAST3 = BSEGA-WRSHB.
OBAD = BSEGA-WRSHB.
ELSE.
IF VERZUG LE TAGE3. "past due tage2 to tage3 days
GTAB-RAST1 = BSEGA-WRSHB.
GTAB-RAST4 = BSEGA-WRSHB.
OBAD = BSEGA-WRSHB.
ELSE.
IF VERZUG LE TAGE4. "past due tage3 to tage4 days
GTAB-RAST1 = BSEGA-WRSHB.
GTAB-RAST5 = BSEGA-WRSHB.
OBAD = BSEGA-WRSHB.
ELSE.
IF VERZUG GT TAGE4. "past due > tage4 days
GTAB-RAST1 = BSEGA-WRSHB.
GTAB-RAST6 = BSEGA-WRSHB.
OBAD = BSEGA-WRSHB.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
GTAB-RAST7 = GTAB-RAST1 - OBAD.
stab = gtab.
MOVE-CORRESPONDING GTAB TO STAB.
BC SUNILP 05/15/2007
IF ITAB_VBRP1[] IS NOT INITIAL.
GTAB-T_IND = 'X'.
LOOP AT ITAB_VBRP1.
MOVE-CORRESPONDING GTAB TO GTAB_LINES.
GTAB_LINES-SORT_GSB = '1'.
GTAB_LINES-SUPER = ITAB_VBRP1-ZZMREP.
GTAB_LINES-REP = ITAB_VBRP1-ZZLREP.
GTAB_LINES-RAST1 = GTAB_LINES-RAST1 * ITAB_VBRP1-PERC.
GTAB_LINES-RAST2 = GTAB_LINES-RAST2 * ITAB_VBRP1-PERC.
GTAB_LINES-RAST3 = GTAB_LINES-RAST3 * ITAB_VBRP1-PERC.
GTAB_LINES-RAST4 = GTAB_LINES-RAST4 * ITAB_VBRP1-PERC.
GTAB_LINES-RAST5 = GTAB_LINES-RAST5 * ITAB_VBRP1-PERC.
GTAB_LINES-RAST6 = GTAB_LINES-RAST6 * ITAB_VBRP1-PERC.
GTAB_LINES-RAST7 = GTAB_LINES-RAST7 * ITAB_VBRP1-PERC.
GTAB_LINES-OBAD = GTAB_LINES-OBAD * ITAB_VBRP1-PERC.
COLLECT: GTAB_LINES.
ENDLOOP.
ELSE.
MOVE-CORRESPONDING GTAB TO GTAB_LINES.
GTAB_LINES-T_IND = 'X'.
GTAB_LINES-SORT_GSB = '1'.
IF GTAB_LINES-SUPER IN P_SUPREP OR GTAB_LINES-REP IN P_REP.
COLLECT: GTAB_LINES.
ENDIF.
ENDIF.
EC SUNILP 05/15/2007
gtab-sort_gsb = stab-sort_gsb = '0'.
collect: gtab, stab.
gtab-gsber = stab-gsber = '****'.
GTAB-SORT_GSB = '1'.
IF REGIO = SPACE OR REGIO = GTAB-REGIO.
IF GTAB_LINES-SUPER IN P_SUPREP OR GTAB_LINES-REP IN P_REP.
COLLECT: GTAB, STAB.
ENDIF.
ENDIF.
END-OF-SELECTION.
TAGE1A = TAGE1 + 1.
TAGE2A = TAGE2 + 1.
TAGE3A = TAGE3 + 1.
IF SUMMEN = ' '.
sort gtab by bukrs land1 regio kunnr gsber sort_gsb.
sort gtab by bukrs land1 regio name1 kunnr gsber sort_gsb. "JAM
IF CONSOL = 'X'.
SORT GTAB BY LAND1 REGIO NAME1 KUNNR BUKRS KKBER GSBER SORT_GSB.
"TONYC
REPORT_TYPE = 'consolidated'.
ELSEIF NOT P_SUPREP[] IS INITIAL. "DEVK939546
SORT GTAB
BY SUPER REP NAME1 BUKRS KKBER LAND1 REGIO NAME1 GSBER SORT_GSB.
BC SUNILP 05/15/2007
SORT GTAB_LINES
BY SUPER REP NAME1 BUKRS KKBER LAND1 REGIO NAME1 GSBER SORT_GSB.
EC SUNILP 05/15/2007
REPORT_TYPE = 'super rep'.
CLEAR STAB. "tonyc 03/06/2004
REFRESH STAB. "tonyc 03/06/2004
ELSEIF NOT P_REP[] IS INITIAL. "DEVK939546
SORT GTAB "DEVK939546
BY REP NAME1 BUKRS KKBER LAND1 REGIO NAME1 GSBER SORT_GSB.
"DEVK939546
BC SUNILP 05/15/2007
SORT GTAB_LINES
BY REP NAME1 BUKRS KKBER LAND1 REGIO NAME1 GSBER SORT_GSB.
EC SUNILP 05/15/2007
REPORT_TYPE = 'rep'. "DEVK939546
CLEAR STAB. "tonyc 03/06/2004
REFRESH STAB. "tonyc 03/06/2004
ELSE.
SORT GTAB BY BUKRS KKBER LAND1 REGIO NAME1 KUNNR GSBER SORT_GSB.
BC SUNILP 05/15/2007
SORT GTAB_LINES BY BUKRS KKBER LAND1 REGIO NAME1 KUNNR GSBER SORT_GSB.
EC SUNILP 05/15/2007
REPORT_TYPE = 'regular'.
ENDIF.
BC SUNILP 05/15/2007
DELETE ADJACENT DUPLICATES FROM GTAB COMPARING BUKRS NAME1.
LOOP AT GTAB_LINES.
IF P_REP[] IS INITIAL.
IF GTAB_LINES-SUPER NOT IN P_SUPREP.
DELETE GTAB_LINES.
ENDIF.
ELSE.
IF GTAB_LINES-SUPER NOT IN P_SUPREP OR GTAB_LINES-REP NOT IN P_REP.
DELETE GTAB_LINES.
ENDIF.
ENDIF.
ENDLOOP.
LOOP AT GTAB.
READ TABLE GTAB_LINES WITH KEY BUKRS = GTAB-BUKRS
NAME1 = GTAB-NAME1.
IF SY-SUBRC NE '0'.
DELETE GTAB.
ENDIF.
ENDLOOP.
EC SUNILP 05/15/2007
LOOP AT GTAB.
MOVE GTAB-BUKRS TO T001-BUKRS. READ TABLE T001.
RESERVE 5 LINES.
CASE REPORT_TYPE.
WHEN 'regular'.
IF HOLD_BUKRS <> GTAB-BUKRS.
IF SY-TABIX > 1. "TONYC
NEW-PAGE. SKIP. "TONYC
ENDIF. "TONYC
ENDIF.
PERFORM WRITE_CUST_INFO. "TONYC
PERFORM WRITE_DETAIL.
hold_bukrs = gtab-bukrs. "tonyc
WHEN 'consolidated'.
IF HOLD_KUNNR <> GTAB-KUNNR. "TONYC
PERFORM WRITE_CUST_INFO. "TONYC
ENDIF. "TONYC
HOLD_KUNNR = GTAB-KUNNR. "TONYC
PERFORM WRITE_DETAIL.
WHEN 'super rep'.
IF GTAB-T_IND NE 'X'.
BC SUNILP 05/22/2007
READ TABLE GTAB_LINES WITH KEY BUKRS = GTAB-BUKRS
NAME1 = GTAB-NAME1.
EC SUNILP 05/22/2007
IF ( HOLD_SUPER <> GTAB_LINES-SUPER ) OR
( HOLD_REP2 <> GTAB_LINES-REP ).
NEW-PAGE.
PERFORM GET_AND_WRITE_SUPERINFO.
ENDIF.
HOLD_REP2 = GTAB_LINES-REP.
HOLD_SUPER = GTAB_LINES-SUPER.
IF HOLD_KUNNR <> GTAB-KUNNR. "TONYC
WRITE :/. "TONYC
ULINE. "TONYC
PERFORM WRITE_CUST_INFO. "TONYC
ENDIF. "TONYC
HOLD_KUNNR = GTAB-KUNNR. "TONYC
PERFORM WRITE_DETAIL. "TONYC
AT END OF REP. "DEVK939546
SKIP. "DEVK939546
RESERVE 7 LINES. "DEVK939546
FORMAT COLOR COL_TOTAL INTENSIFIED. "DEVK939546
WRITE: / 'Summary for Rep:', "DEVK939546
GTAB-REP, '/', REP_NAME, 132 ONEBYTE."DEVK939546
PERFORM WRITE_TOTS TABLES RTOT. "DEVK939546
REFRESH RTOT. "DEVK939546
ENDAT. "DEVK939546
AT END OF SUPER. "DEVK939546
CLEAR STAB. "tonyc 03/06/2004
REFRESH STAB. "tonyc 03/06/2004
NEW-PAGE. SKIP. "DEVK939546
FORMAT COLOR COL_TOTAL INTENSIFIED. "DEVK939546
WRITE: / 'Summary for Super Rep:', "DEVK939546
GTAB-SUPER, '/', SUPER_NAME, 132 ONEBYTE."DEVK939546
PERFORM WRITE_TOTS TABLES STOT. "DEVK939546
REFRESH STOT. "DEVK939546
ENDAT. "DEVK939546
ELSE.
LOOP AT GTAB_LINES WHERE BUKRS = GTAB-BUKRS
AND NAME1 = GTAB-NAME1.
IF ( HOLD_SUPER <> GTAB_LINES-SUPER ) OR
( HOLD_REP2 <> GTAB_LINES-REP ).
NEW-PAGE.
PERFORM GET_AND_WRITE_SUPERINFO.
ENDIF.
HOLD_REP2 = GTAB_LINES-REP.
HOLD_SUPER = GTAB_LINES-SUPER.
IF HOLD_KUNNR <> GTAB_LINES-KUNNR.
WRITE :/.
ULINE.
PERFORM WRITE_CUST_INFO.
ENDIF.
HOLD_KUNNR = GTAB_LINES-KUNNR.
PERFORM WRITE_DETAIL.
AT END OF REP.
SKIP.
RESERVE 7 LINES.
FORMAT COLOR COL_TOTAL INTENSIFIED.
WRITE: / 'Summary for Rep:',
GTAB_LINES-REP, '/', REP_NAME, 132 ONEBYTE.
PERFORM WRITE_TOTS TABLES RTOT.
REFRESH RTOT.
ENDAT.
AT END OF SUPER.
CLEAR STAB. "tonyc 03/06/2004
REFRESH STAB. "tonyc 03/06/2004
NEW-PAGE. SKIP.
FORMAT COLOR COL_TOTAL INTENSIFIED.
WRITE: / 'Summary for Super Rep:',
GTAB_LINES-SUPER, '/', SUPER_NAME, 132 ONEBYTE.
PERFORM WRITE_TOTS TABLES STOT.
REFRESH STOT.
ENDAT.
ENDLOOP.
ENDIF.
WHEN 'rep'. "DEVK939546
LOOP AT GTAB_LINES WHERE BUKRS = GTAB-BUKRS
AND NAME1 = GTAB-NAME1.
IF HOLD_REP2 <> GTAB_LINES-REP. "DEVK939546
NEW-PAGE. "DEVK939546
PERFORM GET_AND_WRITE_REPINFO. "DEVK939546
ENDIF. "DEVK939546
HOLD_REP2 = GTAB_LINES-REP. "DEVK939546
IF HOLD_KUNNR <> GTAB_LINES-KUNNR. "DEVK939546
WRITE :/. "DEVK939546
ULINE. "DEVK939546
PERFORM WRITE_CUST_INFO. "DEVK939546
ENDIF. "DEVK939546
HOLD_KUNNR = GTAB_LINES-KUNNR. "DEVK939546
PERFORM WRITE_DETAIL. "DEVK939546
AT END OF REP. "DEVK939546
SKIP. "DEVK939546
RESERVE 7 LINES. "DEVK939546
FORMAT COLOR COL_TOTAL INTENSIFIED. "DEVK939546
WRITE: / 'Summary for Rep:', "DEVK939546
GTAB_LINES-REP, '/', REP_NAME, 132 ONEBYTE."DEVK939546
PERFORM WRITE_TOTS TABLES RTOT. "DEVK939546
REFRESH RTOT. "DEVK939546
ENDAT. "DEVK939546
ENDLOOP.
ENDCASE.
ENDLOOP.
ENDIF.
OP = ' '.
REFRESH GTAB.
IF NOT REPORT_TYPE = 'super rep'.
ULINE.
ENDIF.
SKIP 1.
IF SUMMEN = ' '. "if 'output totals only' bypass new-page
NEW-PAGE. SKIP.
ENDIF.
WRITE: /25 TEXT-030, 132 ONEBYTE, /25 TEXT-031, 132 ONEBYTE.
PERFORM WRITE_TOTS TABLES STAB. "DEVK939546
TOP-OF-PAGE.
INTENS = SPACE.
FORMAT COLOR COL_HEADING INTENSIFIED ON.
WRITE: / SY-VLINE, 1 TEXT-001, DD_STIDA, 75 TEXT-051, 132 SY-VLINE.
ULINE.
WRITE: / SY-VLINE, 13 SY-VLINE, 30 SY-VLINE,
47 SY-VLINE, 58 TEXT-003, 81 SY-VLINE,
92 TEXT-003, 115 SY-VLINE, 118 TEXT-003, 132 SY-VLINE,
/ SY-VLINE, 02 TEXT-004, 13 SY-VLINE, TEXT-002,
30 SY-VLINE, 32 TEXT-018, 47 SY-VLINE,
50 '1', 54 TEXT-040, 57 TAGE1, 64 SY-VLINE, " 65 tage2,
67 TAGE1A, 72 TEXT-040, 75 TAGE2,
81 SY-VLINE, 83 TAGE2A, 89 TEXT-040, 91 TAGE3, 98 SY-VLINE,
101 TAGE3A, 107 TEXT-040, 110 TAGE4, 115 SY-VLINE,
117 TAGE4, 123 TEXT-017, 132 SY-VLINE.
ULINE.
SKIP 1.
SUMMARY.
FORMAT COLOR COL_HEADING INTENSIFIED OFF.
FORM write_tots *
--> PTAB *
FORM WRITE_TOTS TABLES PTAB TYPE TOT_TAB. "DEVK939546
CLEAR INTENS. "DEVK939546
FORMAT COLOR COL_HEADING INTENSIFIED OFF. "DEVK939546
IF P_CONV = 'X'. "tonyc issue #3047 begin
WRITE /4 TEXT-101.
WRITE: /4 TEXT-102,
50 TEXT-100.
ENDIF. "tonyc issue #3047 end
ULINE. "DEVK939546
SORT PTAB BY BUKRS GSBER. "DEVK939546
LOOP AT PTAB. "DEVK939546
IF SY-TABIX > 1.
WRITE_TOTAL = 'X'.
ENDIF.
MOVE PTAB-BUKRS TO T001-BUKRS. READ TABLE T001. "DEVK939546
MOVE PTAB-GSBER TO T001-WAERS. "DEVK939546
IF P_CONV = 'X'. "tonyc issue #3047 begin
PERFORM CONVERT_VALUES USING STAB-RAST1
STAB-GSBER.
PERFORM CONVERT_VALUES USING STAB-RAST2
STAB-GSBER.
PERFORM CONVERT_VALUES USING STAB-RAST3
STAB-GSBER.
PERFORM CONVERT_VALUES USING STAB-RAST4
STAB-GSBER.
PERFORM CONVERT_VALUES USING STAB-RAST5
STAB-GSBER.
PERFORM CONVERT_VALUES USING STAB-RAST6
STAB-GSBER.
PERFORM CONVERT_VALUES USING STAB-RAST7
STAB-GSBER.
ENDIF. "TOnyc issue #3047 end
MOVE-CORRESPONDING PTAB TO STAB.
COLLECT STAB.
IF P_KKBER = 'X'. "TONYC ISSUE #2500
CLEAR HOLD_KKBER_DESC2.
SELECT SINGLE KKBTX INTO HOLD_KKBER_DESC2 FROM T014T
WHERE KKBER = STAB-KKBER AND
SPRAS = 'E'.
IF SY-SUBRC <> '0'.
HOLD_KKBER_DESC2 = 'Undetermined'.
ENDIF.
FORMAT COLOR OFF.
WRITE: / SY-VLINE.
FORMAT COLOR COL_HEADING INTENSIFIED OFF.
WRITE: 6 STAB-GSBER, HOLD_KKBER_DESC2, SY-VLINE.
ULINE.
FORMAT COLOR OFF.
WRITE: / SY-VLINE.
FORMAT COLOR COL_HEADING INTENSIFIED OFF.
IF P_CONV = 'X'. "tonyc issue #3047 begin
T001-WAERS = 'USD'.
ENDIF. "tonyc issue #3047 end
WRITE: 13 STAB-RAST1 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) STAB-RAST7 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) STAB-RAST2 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) STAB-RAST3 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) STAB-RAST4 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) STAB-RAST5 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) STAB-RAST6 NO-ZERO CURRENCY T001-WAERS, SY-VLINE.
HOLD_BUKRS2 = STAB-BUKRS. "TONYC ISSUE #2500
ULINE.
FORMAT COLOR OFF.
TOTAL_RAST1 = STAB-RAST1 + TOTAL_RAST1.
TOTAL_RAST2 = STAB-RAST2 + TOTAL_RAST2.
TOTAL_RAST3 = STAB-RAST3 + TOTAL_RAST3.
TOTAL_RAST4 = STAB-RAST4 + TOTAL_RAST4.
TOTAL_RAST5 = STAB-RAST5 + TOTAL_RAST5.
TOTAL_RAST6 = STAB-RAST6 + TOTAL_RAST6.
TOTAL_RAST7 = STAB-RAST7 + TOTAL_RAST7.
ELSE.
FORMAT COLOR COL_NORMAL INTENSIFIED OFF. "DEVK939546
IF INTENS = SPACE. "DEVK939546
FORMAT COLOR COL_NORMAL INTENSIFIED OFF. "DEVK939546
INTENS = 'X'. "DEVK939546
ELSE. "DEVK939546
FORMAT COLOR COL_NORMAL INTENSIFIED ON. "DEVK939546
INTENS = SPACE. "DEVK939546
ENDIF. "DEVK939546
WRITE: / SY-VLINE, PTAB-BUKRS, PTAB-GSBER, SY-VLINE, "DEVK939546
(14) PTAB-RAST1 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,"DEVK939546
(14) PTAB-RAST7 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,"DEVK939546
(14) PTAB-RAST2 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,"DEVK939546
(14) PTAB-RAST3 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,"DEVK939546
(14) PTAB-RAST4 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,"DEVK939546
(14) PTAB-RAST5 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,"DEVK939546
(14) PTAB-RAST6 NO-ZERO CURRENCY T001-WAERS, SY-VLINE."DEVK939546
TOTAL_RAST1 = STAB-RAST1 + TOTAL_RAST1.
TOTAL_RAST2 = STAB-RAST2 + TOTAL_RAST2.
TOTAL_RAST3 = STAB-RAST3 + TOTAL_RAST3.
TOTAL_RAST4 = STAB-RAST4 + TOTAL_RAST4.
TOTAL_RAST5 = STAB-RAST5 + TOTAL_RAST5.
TOTAL_RAST6 = STAB-RAST6 + TOTAL_RAST6.
TOTAL_RAST7 = STAB-RAST7 + TOTAL_RAST7.
ENDIF.
ENDLOOP. "DEVK939546
ULINE. "DEVK939546
IF P_KKBER = 'X'. "TONYC ISSUE #2500
IF P_CONV = 'X'. "tonyc issue #3047 begin
FORMAT COLOR OFF.
FORMAT COLOR COL_HEADING INTENSIFIED OFF.
WRITE: SY-VLINE,
6 'TOTAL ', SY-VLINE.
ULINE.
FORMAT COLOR OFF.
WRITE: / SY-VLINE.
FORMAT COLOR COL_HEADING INTENSIFIED OFF.
WRITE: 13 TOTAL_RAST1 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) TOTAL_RAST7 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) TOTAL_RAST2 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) TOTAL_RAST3 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) TOTAL_RAST4 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) TOTAL_RAST5 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) TOTAL_RAST6 NO-ZERO CURRENCY T001-WAERS, SY-VLINE.
ULINE.
ENDIF. "tonyc issue #3047 end
ELSE.
IF P_CONV = 'X'.
FORMAT COLOR OFF.
FORMAT COLOR COL_HEADING INTENSIFIED OFF.
WRITE: SY-VLINE,
6 'TOTAL ', SY-VLINE.
ULINE.
FORMAT COLOR OFF.
WRITE: / SY-VLINE.
FORMAT COLOR COL_HEADING INTENSIFIED OFF.
WRITE: 13 TOTAL_RAST1 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) TOTAL_RAST7 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) TOTAL_RAST2 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) TOTAL_RAST3 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) TOTAL_RAST4 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) TOTAL_RAST5 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) TOTAL_RAST6 NO-ZERO CURRENCY T001-WAERS, SY-VLINE.
ULINE.
ENDIF.
ENDIF.
SKIP 1. "DEVK939546
ENDFORM. "DEVK939546
*& Form GET_KNKK_INFO
text
--> p1 text
<-- p2 text
FORM GET_KNKK_INFO.
CLEAR: G_WAERS,
G_KLIMK_TXT,
KNKK-KLIMK.
get credit control area (KKBER) for comp code (BUKRS)
SELECT SINGLE KLIMK
INTO KNKK-KLIMK
FROM KNKK
WHERE KUNNR = KNA1-KUNNR AND
KKBER = T001-KKBER.
IF SY-SUBRC = 0.
get currency for cred ctrl area
CLEAR IT_T014.
READ TABLE IT_T014 WITH KEY KKBER = T001-KKBER BINARY SEARCH.
G_WAERS = IT_T014-WAERS.
WRITE KNKK-KLIMK TO G_KLIMK_TXT CURRENCY G_WAERS.
ENDIF.
ENDFORM. " GET_KNKK_INFO
*& Form SELECT_KNKK
text
-->P_KKBER Credit Limit Controlling AreaThis is a FI Aging report.
-
Ar aging report, need help urgent please help!
Hey All Gurus,
Im in a thick soup here. I am trying to do something like this -
if you see the selection screen i have rep and super rep, when a user enters a rep value --- it should use the same value to pull all open items for the super rep as well, since they are essentially the same. please help! this one needs to be done fast. i am pasting the code so that it will be easier ...
thanks a million!
*& Report ZFDOFW04_NEW
REPORT ZFDOFW04_NEW MESSAGE-ID FR
LINE-SIZE 132
LINE-COUNT 60.
*==================================================================
Program: ZFDOFW03 - Aged Trial Balance Report
This produces an Accounts Receivable Past Due Aging Report
in a more simplified/condensed format than the
SAP supplied aging report program - RFDOPR10.
This program is a modified copy of RFDOFW00, - a SAP
Future-Due Report.
This was a 'rush' job - program probably should be
rewritten someday not using logical databases as that
maybe why this runs so slowly!
Original: Feb 1997.
MAINTENANCE HISTORY:
NES071797 Copied from ZFDOFW03. Adding parameter for saeles rep.
JDEDERER - changed header text so it is differnet from ZFDORW03. 9/23
*TEXT SYMBOLS :
001 Open items per
002 O p e n
003 D u e o n
004 cc ba in total
005 until
006 Days until
007 Days over
008 Days
009 over
011 valid until........
012 Insurance limit.....
016 F u t u r e
017 + days
018 D u e
020 Last dunn.notice...
021 Dunning level....
030 S U M M A R Y S H E E T
031 =====================
050 Name Page
051 Burton Snowboard
SELECTION TEXTS:
SUMMEN Output totals only
TAGE1 Due date I until
TAGE2 Due date II until
TAGE3 Due date III until
TAGE4 Due date IV until
TABLES: T001, KNA1, KNB1, KNB5, BSID, BSEGA, RFPDO1, KNVP,
T014, "credit control areas JAM
KNVK, "cust master - contact partner JAM
T014T, "Credit control areas names
BKPF, "TONY ISSUE 4743
TVKO, "TONY ISSUE 4743
KNKK. "cust master - credit mgmt JAM
TYPES: BEGIN OF TOT_TYPE, "DEVK939546
BUKRS LIKE LFB1-BUKRS, "DEVK939546
GSBER LIKE BSIK-GSBER, "DEVK939546
KKBER LIKE BSID-KKBER,
RAST1 TYPE P, "DEVK939546
RAST2 TYPE P, "DEVK939546
RAST3 TYPE P, "DEVK939546
RAST4 TYPE P, "DEVK939546
RAST5 TYPE P, "DEVK939546
RAST6 TYPE P, "DEVK939546
RAST7 TYPE P, "DEVK939546
END OF TOT_TYPE, "DEVK939546
TOT_TAB TYPE TOT_TYPE OCCURS 0. "DEVK939546
CONSTANTS:
C_FALSE TYPE I VALUE 0, "JAM
C_TRUE TYPE I VALUE 1.
DATA: BEGIN OF GTAB OCCURS 1000,
SUPER(10) TYPE C, "TONYC
REP(10) TYPE C, "TONYC
FILKD(10), "tonyc show buying groups
LAND1 LIKE KNA1-LAND1,
GSBER LIKE BSIK-GSBER,
REGIO LIKE KNA1-REGIO,
NAME1 LIKE KNA1-NAME1,
NAME2 LIKE KNA1-NAME2,
ORT01 LIKE KNA1-ORT01,
TELF1 LIKE KNVK-TELF1, "telephone number JAM
CONT_NAME1 LIKE KNVK-NAME1, "contact name JAM
NAMEV LIKE KNVK-NAMEV, "contact name JAM
KUNNR LIKE KNA1-KUNNR, "TONYC
BUKRS LIKE LFB1-BUKRS, "TONYC
KKBER LIKE BSID-KKBER, "tonyc issue #2500
ZTERM LIKE KNB1-ZTERM, "tonyc issue #2500
KLIMK_TXT(22) TYPE C, "credit limit JAM
WAERS LIKE T014-WAERS, "currency JAM
SORT_GSB, "TONYC
RAST1 TYPE P,
RAST2 TYPE P,
RAST3 TYPE P,
RAST4 TYPE P,
RAST5 TYPE P,
RAST6 TYPE P,
RAST7 TYPE P,
T_IND,
END OF GTAB.
DATA HOLD_NAME(40).
DATA HOLD_BUKRS LIKE T001-BUKRS. "tonyc
DATA GOOD_SUPER_REP. "tonyc
DATA: HOLD_REP LIKE KNA1-KUNNR, "tonyc
SUPER_NAME LIKE KNA1-NAME1, "tonyc
REP_NAME LIKE KNA1-NAME1. "tonyc
DATA NAME_LENGTH(2) TYPE C. "tonyc
DATA BACKSLASH(3) VALUE ' / '. "tonyc
DATA REPS_INFO(70) TYPE C. "tonyc
DATA REPORT_TYPE(12) TYPE C.
DATA: C_CREDIT_ABTNR LIKE KNVK-ABTNR. "dept 003 = credit
DATA Z_HOLD_LIMIT(22) TYPE N. "tonyc issue#2216
DATA Z_DESCRIPTION(18). "tonyc issue#2216
DATA WRITE_TOTAL.
DATA HOLD_KLIMK LIKE KNKK-KLIMK.
DATA HOLD_KLIMK2(22) TYPE C.
DATA HOLD-CTLPC LIKE KNKK-CTLPC.
DATA HOLD-CTLPC-TEXT LIKE T691T-RTEXT.
DATA HOLD_ZTERM LIKE KNVV-ZTERM.
DATA TOTAL_RAST7 TYPE P.
DATA TOTAL_RAST2 TYPE P.
DATA TOTAL_RAST3 TYPE P.
DATA TOTAL_RAST4 TYPE P.
DATA TOTAL_RAST5 TYPE P.
DATA TOTAL_RAST6 TYPE P.
DATA TOTAL_RAST1 TYPE P.
DATA HOLD_BUKRS2 LIKE T001-BUKRS.
DATA HOLD_KKBER LIKE BSID-KKBER.
DATA HOLD_KKBER_DESC LIKE T014T-KKBTX.
DATA HOLD_KKBER_DESC2 LIKE T014T-KKBTX.
DATA HOLD_KUNNR2 LIKE KNA1-KUNNR.
DATA L_FIRST_DAY_OF_FISCAL LIKE SY-DATUM. "tonyc issue #3047
DATA: STAB TYPE TOT_TAB WITH HEADER LINE, "DEVK939546
RTOT TYPE TOT_TAB WITH HEADER LINE, "DEVK939546
STOT TYPE TOT_TAB WITH HEADER LINE, "DEVK939546
OP,
MAXMANDT LIKE DD_STIDA,
MAXMANST TYPE P,
SUMKLIMB TYPE P,
SUMVLIBB TYPE P,
VERZUG TYPE P,
OBAD TYPE P,
BLOCK_CNT TYPE P,
INTENS,
ONEBYTE(1) TYPE C,
TAGE1A LIKE RFPDO1-ALLGFAEL,
TAGE2A LIKE RFPDO1-ALLGFAEL,
TAGE3A LIKE RFPDO1-ALLGFAEL,
HOLD_KUNNR LIKE KNA1-KUNNR, "tonyc
HOLD_SUPER LIKE KNA1-KUNNR, "tonyc
HOLD_REP2 LIKE KNA1-KUNNR, "tonyc
SUPER_REP LIKE KNA1-KUNNR, "tonyc
TEMP_TELF1 LIKE KNA1-TELF1, "JAM
IT_T014 LIKE T014 OCCURS 0 WITH HEADER LINE, "JAM
G_KLIMK_TXT LIKE GTAB-KLIMK_TXT, "JAM
G_WAERS LIKE GTAB-WAERS, "JAM
G_CONT_NAME(50) TYPE C. "JA
DATA FILL_REP_INFO.
BC SUNILP 05/14/2007
DATA: BEGIN OF ITAB_VBRP OCCURS 0.
INCLUDE STRUCTURE VBRP.
DATA: END OF ITAB_VBRP.
DATA: T_PERC TYPE F,
SUM_NETWR LIKE VBRP-NETWR.
*DATA: GTAB_LINES LIKE GTAB OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF GTAB_LINES OCCURS 0.
INCLUDE STRUCTURE GTAB.
DATA: IND(1),
OBAD TYPE P.
DATA: END OF GTAB_LINES.
DATA: BEGIN OF ITAB_VBRP1 OCCURS 0,
VBELN LIKE VBRP-VBELN,
NETWR LIKE VBRP-NETWR,
ZZMREP LIKE VBRP-ZZMREP, "Super Rep
ZZLREP LIKE VBRP-ZZLREP, "Rep
PERC TYPE F,
END OF ITAB_VBRP1.
EC SUNILP 05/14/2007
BEGIN_OF_BLOCK 2.
PARAMETERS: REGIO LIKE KNA1-REGIO.
PARAMETERS: CONSOL AS CHECKBOX. "TONYC
PARAMETERS: P_KKBER AS CHECKBOX, "TONYC
P_CONV AS CHECKBOX. "tonyc issue #3047
PARAMETERS: SUMMEN LIKE RFPDO1-ALLGSUMM,
TAGE1 LIKE RFPDO1-ALLGFAEL DEFAULT '30',
TAGE2 LIKE RFPDO1-ALLGFAEL DEFAULT '60',
TAGE3 LIKE RFPDO1-ALLGFAEL DEFAULT '90',
TAGE4 LIKE RFPDO1-ALLGFAEL DEFAULT '120'.
END_OF_BLOCK 2.
BEGIN_OF_BLOCK 3.
SELECT-OPTIONS: P_SUPREP FOR KNVP-KUNNR, "Super REP "DEVK939546
P_REP FOR KNVP-KUNNR, "SALES REP "DEVK939546
P_VKORG FOR TVKO-VKORG, "TONYC ISSUE 4743
P_LOTKZ FOR BKPF-LOTKZ. "TONYC ISSUE 4743
END_OF_BLOCK 3.
INITIALIZATION. "JAM
PERFORM LOAD_T014. "JAM
refresh dd_augdt.
clear dd_augdt.
dd_augdt-option = 'EQ'.
dd_augdt-sign = 'I'.
dd_augdt-low = ' '.
append dd_augdt.
AT SELECTION-SCREEN.
IF CONSOL = 'X'.
IF NOT P_SUPREP[] IS INITIAL. "DEVK939546
MESSAGE E999 WITH 'Consolidated report not allowed w/ Super Rep'.
ENDIF.
ENDIF.
CHECK IF THE REP INFO IS ADDED OR NOT - VS
IF NOT P_SUPREP IS INITIAL OR"TONY ISSUE 4743
NOT P_REP IS INITIAL."TONY ISSUE 4743
FILL_REP_INFO = 'X'."TONY ISSUE 4743
ENDIF."TONY ISSUE 4743
START-OF-SELECTION.
get_frame_title 2.
add function module to track usage JD 10/13/98 *****
CALL FUNCTION 'Z_RUN_LOG'
EXCEPTIONS
OTHERS = 1.
*IF NOT P_SUPREP IS INITIAL AND NOT P_REP IS INITIAL.
P_SUPREP = ' '.
*ENDIF.
GET KNA1 FIELDS LAND1 REGIO KUNNR NAME1 NAME2 ORT01 TELF1. "JAM
new-page.
skip.
TEMP_TELF1 = KNA1-TELF1.
MAXMANDT = '19000101'.
MAXMANST = 0.
SUMVLIBB = 0.
PERFORM GET_CUST_CONTACT. "JAM
Check sales rep- NES071797
Get any valid record and exit.
IF NOT p_suprep[] IS INITIAL. "DEVK939546 "TONY ISSUE 4743 start
good_super_rep = ' '.
SELECT kunn2 INTO super_rep FROM knvp UP TO 1 ROWS
WHERE
kunnr = kna1-kunnr AND
parvw = 'ZS' AND
kunn2 IN p_suprep.
EXIT.
ENDSELECT.
IF sy-subrc = 0.
good_super_rep = 'X'.
gtab-super = super_rep.
super_rep = ' '.
ENDIF.
CHECK good_super_rep = 'X'.
SELECT kunn2 INTO gtab-rep FROM knvp UP TO 1 ROWS
WHERE
kunnr = kna1-kunnr AND
parvw = 'ZR' AND
kunn2 IN p_rep.
EXIT.
ENDSELECT.
CHECK sy-subrc = 0.
ELSEIF NOT p_rep[] IS INITIAL. "DEVK939546
SELECT kunn2 INTO gtab-rep FROM knvp UP TO 1 ROWS
WHERE
kunnr = kna1-kunnr AND
parvw = 'ZR' AND
kunn2 IN p_rep.
EXIT.
ENDSELECT.
CHECK sy-subrc = 0.
ENDIF. "TONY ISSUE 4743 end
GET KNB1 FIELDS BUKRS VLIBB ZTERM. "tonyc #2500
GTAB-BUKRS = KNB1-BUKRS.
GTAB-ZTERM = KNB1-ZTERM.
SUMVLIBB = SUMVLIBB + KNB1-VLIBB.
GET KNB5.
IF KNB5-MADAT > MAXMANDT.
MAXMANDT = KNB5-MADAT.
ENDIF.
IF KNB5-MAHNS > MAXMANST.
MAXMANST = KNB5-MAHNS.
ENDIF.
SUMKLIMB = SUMKLIMB + KLIMB.
GET BSID.
CHECK BSID-BSTAT = SPACE.
field was intended for Business Area, changed to use Currency
GTAB-GSBER = BSID-WAERS.
IF P_KKBER = 'X'. "TONYC ISSUE #2500
IF BSID-KKBER = ' '.
GTAB-KKBER = BSID-BUKRS.
ELSE.
GTAB-KKBER = BSID-KKBER. "TONYC ISSUE #2500
ENDIF.
ENDIF. "TONYC ISSUE #2500
SELECT SINGLE * FROM BKPF "TONY ISSUE 4743
WHERE BUKRS = BSID-BUKRS "TONY ISSUE 4743
AND BELNR = BSID-BELNR "TONY ISSUE 4743
AND GJAHR = BSID-GJAHR. "TONY ISSUE 4743
BC SUNILP 05/14/2007
IF BKPF-XREF2_HD IS NOT INITIAL.
CHECK BKPF-XREF2_HD IN P_SUPREP. "TONY ISSUE 4743
ELSE.
IF P_REP[] IS INITIAL.
REFRESH: ITAB_VBRP, ITAB_VBRP1.
IF NOT BKPF-XBLNR IS INITIAL.
SELECT * FROM VBRP INTO ITAB_VBRP WHERE VBELN = BKPF-XBLNR.
APPEND ITAB_VBRP. CLEAR ITAB_VBRP.
ENDSELECT.
CHECK ITAB_VBRP[] IS NOT INITIAL.
CLEAR: SUM_NETWR.
LOOP AT ITAB_VBRP.
CHECK ITAB_VBRP-ZZMREP IN P_SUPREP.
CHECK ITAB_VBRP-ZZLREP IN P_REP.
MOVE-CORRESPONDING ITAB_VBRP TO ITAB_VBRP1.
COLLECT: ITAB_VBRP1.
SUM_NETWR = SUM_NETWR + ITAB_VBRP-NETWR.
CLEAR ITAB_VBRP.
ENDLOOP.
CHECK ITAB_VBRP1[] IS NOT INITIAL.
LOOP AT ITAB_VBRP1.
CLEAR: T_PERC.
T_PERC = ( ITAB_VBRP1-NETWR / SUM_NETWR ).
ITAB_VBRP1-PERC = T_PERC.
MODIFY ITAB_VBRP1 INDEX SY-TABIX TRANSPORTING PERC.
ENDLOOP.
ENDIF.
ENDIF.
ENDIF.
EC SUNILP 05/14/2007
IF FILL_REP_INFO = 'X'.
GTAB-SUPER = BKPF-XREF2_HD. "TONY ISSUE 4743 "MOVE THE CONTENTS OF XREF2_HD TO GTAB INTERNAL TABLE - VS
ENDIF.
BC SUNILP 05/14/2007
IF BKPF-XREF1_HD IS NOT INITIAL.
CHECK BKPF-XREF1_HD IN P_REP. "TONY ISSUE 4743 " ELSE MOVE THE CONTENTS OF - VS
ELSE.
REFRESH: ITAB_VBRP, ITAB_VBRP1.
IF NOT BKPF-XBLNR IS INITIAL.
SELECT * FROM VBRP INTO ITAB_VBRP WHERE VBELN = BKPF-XBLNR.
APPEND ITAB_VBRP. CLEAR ITAB_VBRP.
ENDSELECT.
CHECK ITAB_VBRP[] IS NOT INITIAL.
CLEAR: SUM_NETWR.
LOOP AT ITAB_VBRP.
CHECK ITAB_VBRP-ZZMREP IN P_SUPREP.
CHECK ITAB_VBRP-ZZLREP IN P_REP.
MOVE-CORRESPONDING ITAB_VBRP TO ITAB_VBRP1.
COLLECT: ITAB_VBRP1.
SUM_NETWR = SUM_NETWR + ITAB_VBRP-NETWR.
CLEAR ITAB_VBRP.
ENDLOOP.
CHECK ITAB_VBRP1[] IS NOT INITIAL.
LOOP AT ITAB_VBRP1.
CLEAR: T_PERC.
T_PERC = ( ITAB_VBRP1-NETWR / SUM_NETWR ).
ITAB_VBRP1-PERC = T_PERC.
MODIFY ITAB_VBRP1 INDEX SY-TABIX TRANSPORTING PERC.
ENDLOOP.
ENDIF.
ENDIF.
EC SUNILP 05/14/2007
IF FILL_REP_INFO = 'X'.
GTAB-REP = BKPF-XREF1_HD. "TONY ISSUE 4743
ENDIF.
CHECK BKPF-LOTKZ IN P_LOTKZ. "TONY ISSUE 4743
CHECK BKPF-BRNCH IN P_VKORG. "TONY ISSUE 4743
SELECT SINGLE FILKD INTO GTAB-FILKD FROM BSEG
WHERE BUKRS = BSID-BUKRS
AND BELNR = BSID-BELNR
AND GJAHR = BSID-GJAHR
AND BUZEI = BSID-BUZEI.
gtab-gsber = bsid-gsber.
get rep info for each bsid record
IF NOT P_SUPREP IS INITIAL. "tonyc
SELECT KUNNR FROM VBPA INTO HOLD_REP UP TO 1 ROWS "tonyc
WHERE VBELN = BSID-VBELN "tonyc
AND PARVW = 'ZR'. "tonyc
ENDSELECT. "tonyc
IF NOT P_REP IS INITIAL. "tonyc
CHECK HOLD_REP = P_REP. "tonyc
ENDIF. "tonyc
GTAB-REP = HOLD_REP. "tonyc
HOLD_REP = ' '. "tonyc
ENDIF. "tonyc
PERFORM GET_KNKK_INFO. "JAM
GTAB-KLIMK_TXT = G_KLIMK_TXT.
GTAB-WAERS = G_WAERS.
GTAB-LAND1 = KNA1-LAND1.
GTAB-REGIO = KNA1-REGIO.
GTAB-KUNNR = KNA1-KUNNR.
GTAB-NAME1 = KNA1-NAME1.
GTAB-NAME2 = KNA1-NAME2.
GTAB-ORT01 = KNA1-ORT01.
*if there is no phone number for the contact, pull the phone
*number from the sold-to
IF KNVK-TELF1 = ' '.
GTAB-TELF1 = TEMP_TELF1.
ELSE.
GTAB-TELF1 = KNVK-TELF1. "JAM
ENDIF.
GTAB-CONT_NAME1 = KNVK-NAME1.
GTAB-NAMEV = KNVK-NAMEV.
verzug = bsega-netdt - dd_stida.
VERZUG = DD_STIDA - BSEGA-NETDT. "days past due calculation
OP = 'X'.
GTAB-RAST2 = GTAB-RAST3 = GTAB-RAST4 = 0.
GTAB-RAST5 = GTAB-RAST6 = OBAD = GTAB-RAST7 = 0.
IF VERZUG LE 0. "future due
GTAB-RAST1 = BSEGA-WRSHB.
ELSE.
IF VERZUG LE TAGE1. "past due 1 to tage1 days
GTAB-RAST1 = BSEGA-WRSHB.
GTAB-RAST2 = BSEGA-WRSHB.
OBAD = BSEGA-WRSHB.
ELSE.
IF VERZUG LE TAGE2. "past due tage1 to tage2 days
GTAB-RAST1 = BSEGA-WRSHB.
GTAB-RAST3 = BSEGA-WRSHB.
OBAD = BSEGA-WRSHB.
ELSE.
IF VERZUG LE TAGE3. "past due tage2 to tage3 days
GTAB-RAST1 = BSEGA-WRSHB.
GTAB-RAST4 = BSEGA-WRSHB.
OBAD = BSEGA-WRSHB.
ELSE.
IF VERZUG LE TAGE4. "past due tage3 to tage4 days
GTAB-RAST1 = BSEGA-WRSHB.
GTAB-RAST5 = BSEGA-WRSHB.
OBAD = BSEGA-WRSHB.
ELSE.
IF VERZUG GT TAGE4. "past due > tage4 days
GTAB-RAST1 = BSEGA-WRSHB.
GTAB-RAST6 = BSEGA-WRSHB.
OBAD = BSEGA-WRSHB.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
GTAB-RAST7 = GTAB-RAST1 - OBAD.
stab = gtab.
MOVE-CORRESPONDING GTAB TO STAB.
BC SUNILP 05/15/2007
IF ITAB_VBRP1[] IS NOT INITIAL.
GTAB-T_IND = 'X'.
LOOP AT ITAB_VBRP1.
MOVE-CORRESPONDING GTAB TO GTAB_LINES.
GTAB_LINES-SORT_GSB = '1'.
GTAB_LINES-SUPER = ITAB_VBRP1-ZZMREP.
GTAB_LINES-REP = ITAB_VBRP1-ZZLREP.
GTAB_LINES-RAST1 = GTAB_LINES-RAST1 * ITAB_VBRP1-PERC.
GTAB_LINES-RAST2 = GTAB_LINES-RAST2 * ITAB_VBRP1-PERC.
GTAB_LINES-RAST3 = GTAB_LINES-RAST3 * ITAB_VBRP1-PERC.
GTAB_LINES-RAST4 = GTAB_LINES-RAST4 * ITAB_VBRP1-PERC.
GTAB_LINES-RAST5 = GTAB_LINES-RAST5 * ITAB_VBRP1-PERC.
GTAB_LINES-RAST6 = GTAB_LINES-RAST6 * ITAB_VBRP1-PERC.
GTAB_LINES-RAST7 = GTAB_LINES-RAST7 * ITAB_VBRP1-PERC.
GTAB_LINES-OBAD = GTAB_LINES-OBAD * ITAB_VBRP1-PERC.
COLLECT: GTAB_LINES.
ENDLOOP.
ELSE.
MOVE-CORRESPONDING GTAB TO GTAB_LINES.
GTAB_LINES-T_IND = 'X'.
GTAB_LINES-SORT_GSB = '1'.
IF GTAB_LINES-SUPER IN P_SUPREP OR GTAB_LINES-REP IN P_REP.
COLLECT: GTAB_LINES.
ENDIF.
ENDIF.
EC SUNILP 05/15/2007
gtab-sort_gsb = stab-sort_gsb = '0'.
collect: gtab, stab.
gtab-gsber = stab-gsber = '****'.
GTAB-SORT_GSB = '1'.
IF REGIO = SPACE OR REGIO = GTAB-REGIO.
IF GTAB_LINES-SUPER IN P_SUPREP OR GTAB_LINES-REP IN P_REP.
COLLECT: GTAB, STAB.
ENDIF.
ENDIF.
END-OF-SELECTION.
TAGE1A = TAGE1 + 1.
TAGE2A = TAGE2 + 1.
TAGE3A = TAGE3 + 1.
IF SUMMEN = ' '.
sort gtab by bukrs land1 regio kunnr gsber sort_gsb.
sort gtab by bukrs land1 regio name1 kunnr gsber sort_gsb. "JAM
IF CONSOL = 'X'.
SORT GTAB BY LAND1 REGIO NAME1 KUNNR BUKRS KKBER GSBER SORT_GSB.
"TONYC
REPORT_TYPE = 'consolidated'.
ELSEIF NOT P_SUPREP[] IS INITIAL. "DEVK939546
SORT GTAB
BY SUPER REP NAME1 BUKRS KKBER LAND1 REGIO NAME1 GSBER SORT_GSB.
BC SUNILP 05/15/2007
SORT GTAB_LINES
BY SUPER REP NAME1 BUKRS KKBER LAND1 REGIO NAME1 GSBER SORT_GSB.
EC SUNILP 05/15/2007
REPORT_TYPE = 'super rep'.
CLEAR STAB. "tonyc 03/06/2004
REFRESH STAB. "tonyc 03/06/2004
ELSEIF NOT P_REP[] IS INITIAL. "DEVK939546
SORT GTAB "DEVK939546
BY REP NAME1 BUKRS KKBER LAND1 REGIO NAME1 GSBER SORT_GSB.
"DEVK939546
BC SUNILP 05/15/2007
SORT GTAB_LINES
BY REP NAME1 BUKRS KKBER LAND1 REGIO NAME1 GSBER SORT_GSB.
EC SUNILP 05/15/2007
REPORT_TYPE = 'rep'. "DEVK939546
CLEAR STAB. "tonyc 03/06/2004
REFRESH STAB. "tonyc 03/06/2004
ELSE.
SORT GTAB BY BUKRS KKBER LAND1 REGIO NAME1 KUNNR GSBER SORT_GSB.
BC SUNILP 05/15/2007
SORT GTAB_LINES BY BUKRS KKBER LAND1 REGIO NAME1 KUNNR GSBER SORT_GSB.
EC SUNILP 05/15/2007
REPORT_TYPE = 'regular'.
ENDIF.
BC SUNILP 05/15/2007
DELETE ADJACENT DUPLICATES FROM GTAB COMPARING BUKRS NAME1.
LOOP AT GTAB_LINES.
IF P_REP[] IS INITIAL.
IF GTAB_LINES-SUPER NOT IN P_SUPREP.
DELETE GTAB_LINES.
ENDIF.
ELSE.
IF GTAB_LINES-SUPER NOT IN P_SUPREP OR GTAB_LINES-REP NOT IN P_REP.
DELETE GTAB_LINES.
ENDIF.
ENDIF.
ENDLOOP.
LOOP AT GTAB.
READ TABLE GTAB_LINES WITH KEY BUKRS = GTAB-BUKRS
NAME1 = GTAB-NAME1.
IF SY-SUBRC NE '0'.
DELETE GTAB.
ENDIF.
ENDLOOP.
EC SUNILP 05/15/2007
LOOP AT GTAB.
MOVE GTAB-BUKRS TO T001-BUKRS. READ TABLE T001.
RESERVE 5 LINES.
CASE REPORT_TYPE.
WHEN 'regular'.
IF HOLD_BUKRS <> GTAB-BUKRS.
IF SY-TABIX > 1. "TONYC
NEW-PAGE. SKIP. "TONYC
ENDIF. "TONYC
ENDIF.
PERFORM WRITE_CUST_INFO. "TONYC
PERFORM WRITE_DETAIL.
hold_bukrs = gtab-bukrs. "tonyc
WHEN 'consolidated'.
IF HOLD_KUNNR <> GTAB-KUNNR. "TONYC
PERFORM WRITE_CUST_INFO. "TONYC
ENDIF. "TONYC
HOLD_KUNNR = GTAB-KUNNR. "TONYC
PERFORM WRITE_DETAIL.
WHEN 'super rep'.
IF GTAB-T_IND NE 'X'.
BC SUNILP 05/22/2007
READ TABLE GTAB_LINES WITH KEY BUKRS = GTAB-BUKRS
NAME1 = GTAB-NAME1.
EC SUNILP 05/22/2007
IF ( HOLD_SUPER <> GTAB_LINES-SUPER ) OR
( HOLD_REP2 <> GTAB_LINES-REP ).
NEW-PAGE.
PERFORM GET_AND_WRITE_SUPERINFO.
ENDIF.
HOLD_REP2 = GTAB_LINES-REP.
HOLD_SUPER = GTAB_LINES-SUPER.
IF HOLD_KUNNR <> GTAB-KUNNR. "TONYC
WRITE :/. "TONYC
ULINE. "TONYC
PERFORM WRITE_CUST_INFO. "TONYC
ENDIF. "TONYC
HOLD_KUNNR = GTAB-KUNNR. "TONYC
PERFORM WRITE_DETAIL. "TONYC
AT END OF REP. "DEVK939546
SKIP. "DEVK939546
RESERVE 7 LINES. "DEVK939546
FORMAT COLOR COL_TOTAL INTENSIFIED. "DEVK939546
WRITE: / 'Summary for Rep:', "DEVK939546
GTAB-REP, '/', REP_NAME, 132 ONEBYTE."DEVK939546
PERFORM WRITE_TOTS TABLES RTOT. "DEVK939546
REFRESH RTOT. "DEVK939546
ENDAT. "DEVK939546
AT END OF SUPER. "DEVK939546
CLEAR STAB. "tonyc 03/06/2004
REFRESH STAB. "tonyc 03/06/2004
NEW-PAGE. SKIP. "DEVK939546
FORMAT COLOR COL_TOTAL INTENSIFIED. "DEVK939546
WRITE: / 'Summary for Super Rep:', "DEVK939546
GTAB-SUPER, '/', SUPER_NAME, 132 ONEBYTE."DEVK939546
PERFORM WRITE_TOTS TABLES STOT. "DEVK939546
REFRESH STOT. "DEVK939546
ENDAT. "DEVK939546
ELSE.
LOOP AT GTAB_LINES WHERE BUKRS = GTAB-BUKRS
AND NAME1 = GTAB-NAME1.
IF ( HOLD_SUPER <> GTAB_LINES-SUPER ) OR
( HOLD_REP2 <> GTAB_LINES-REP ).
NEW-PAGE.
PERFORM GET_AND_WRITE_SUPERINFO.
ENDIF.
HOLD_REP2 = GTAB_LINES-REP.
HOLD_SUPER = GTAB_LINES-SUPER.
IF HOLD_KUNNR <> GTAB_LINES-KUNNR.
WRITE :/.
ULINE.
PERFORM WRITE_CUST_INFO.
ENDIF.
HOLD_KUNNR = GTAB_LINES-KUNNR.
PERFORM WRITE_DETAIL.
AT END OF REP.
SKIP.
RESERVE 7 LINES.
FORMAT COLOR COL_TOTAL INTENSIFIED.
WRITE: / 'Summary for Rep:',
GTAB_LINES-REP, '/', REP_NAME, 132 ONEBYTE.
PERFORM WRITE_TOTS TABLES RTOT.
REFRESH RTOT.
ENDAT.
AT END OF SUPER.
CLEAR STAB. "tonyc 03/06/2004
REFRESH STAB. "tonyc 03/06/2004
NEW-PAGE. SKIP.
FORMAT COLOR COL_TOTAL INTENSIFIED.
WRITE: / 'Summary for Super Rep:',
GTAB_LINES-SUPER, '/', SUPER_NAME, 132 ONEBYTE.
PERFORM WRITE_TOTS TABLES STOT.
REFRESH STOT.
ENDAT.
ENDLOOP.
ENDIF.
WHEN 'rep'. "DEVK939546
LOOP AT GTAB_LINES WHERE BUKRS = GTAB-BUKRS
AND NAME1 = GTAB-NAME1.
IF HOLD_REP2 <> GTAB_LINES-REP. "DEVK939546
NEW-PAGE. "DEVK939546
PERFORM GET_AND_WRITE_REPINFO. "DEVK939546
ENDIF. "DEVK939546
HOLD_REP2 = GTAB_LINES-REP. "DEVK939546
IF HOLD_KUNNR <> GTAB_LINES-KUNNR. "DEVK939546
WRITE :/. "DEVK939546
ULINE. "DEVK939546
PERFORM WRITE_CUST_INFO. "DEVK939546
ENDIF. "DEVK939546
HOLD_KUNNR = GTAB_LINES-KUNNR. "DEVK939546
PERFORM WRITE_DETAIL. "DEVK939546
AT END OF REP. "DEVK939546
SKIP. "DEVK939546
RESERVE 7 LINES. "DEVK939546
FORMAT COLOR COL_TOTAL INTENSIFIED. "DEVK939546
WRITE: / 'Summary for Rep:', "DEVK939546
GTAB_LINES-REP, '/', REP_NAME, 132 ONEBYTE."DEVK939546
PERFORM WRITE_TOTS TABLES RTOT. "DEVK939546
REFRESH RTOT. "DEVK939546
ENDAT. "DEVK939546
ENDLOOP.
ENDCASE.
ENDLOOP.
ENDIF.
OP = ' '.
REFRESH GTAB.
IF NOT REPORT_TYPE = 'super rep'.
ULINE.
ENDIF.
SKIP 1.
IF SUMMEN = ' '. "if 'output totals only' bypass new-page
NEW-PAGE. SKIP.
ENDIF.
WRITE: /25 TEXT-030, 132 ONEBYTE, /25 TEXT-031, 132 ONEBYTE.
PERFORM WRITE_TOTS TABLES STAB. "DEVK939546
TOP-OF-PAGE.
INTENS = SPACE.
FORMAT COLOR COL_HEADING INTENSIFIED ON.
WRITE: / SY-VLINE, 1 TEXT-001, DD_STIDA, 75 TEXT-051, 132 SY-VLINE.
ULINE.
WRITE: / SY-VLINE, 13 SY-VLINE, 30 SY-VLINE,
47 SY-VLINE, 58 TEXT-003, 81 SY-VLINE,
92 TEXT-003, 115 SY-VLINE, 118 TEXT-003, 132 SY-VLINE,
/ SY-VLINE, 02 TEXT-004, 13 SY-VLINE, TEXT-002,
30 SY-VLINE, 32 TEXT-018, 47 SY-VLINE,
50 '1', 54 TEXT-040, 57 TAGE1, 64 SY-VLINE, " 65 tage2,
67 TAGE1A, 72 TEXT-040, 75 TAGE2,
81 SY-VLINE, 83 TAGE2A, 89 TEXT-040, 91 TAGE3, 98 SY-VLINE,
101 TAGE3A, 107 TEXT-040, 110 TAGE4, 115 SY-VLINE,
117 TAGE4, 123 TEXT-017, 132 SY-VLINE.
ULINE.
SKIP 1.
SUMMARY.
FORMAT COLOR COL_HEADING INTENSIFIED OFF.
FORM write_tots *
--> PTAB *
FORM WRITE_TOTS TABLES PTAB TYPE TOT_TAB. "DEVK939546
CLEAR INTENS. "DEVK939546
FORMAT COLOR COL_HEADING INTENSIFIED OFF. "DEVK939546
IF P_CONV = 'X'. "tonyc issue #3047 begin
WRITE /4 TEXT-101.
WRITE: /4 TEXT-102,
50 TEXT-100.
ENDIF. "tonyc issue #3047 end
ULINE. "DEVK939546
SORT PTAB BY BUKRS GSBER. "DEVK939546
LOOP AT PTAB. "DEVK939546
IF SY-TABIX > 1.
WRITE_TOTAL = 'X'.
ENDIF.
MOVE PTAB-BUKRS TO T001-BUKRS. READ TABLE T001. "DEVK939546
MOVE PTAB-GSBER TO T001-WAERS. "DEVK939546
IF P_CONV = 'X'. "tonyc issue #3047 begin
PERFORM CONVERT_VALUES USING STAB-RAST1
STAB-GSBER.
PERFORM CONVERT_VALUES USING STAB-RAST2
STAB-GSBER.
PERFORM CONVERT_VALUES USING STAB-RAST3
STAB-GSBER.
PERFORM CONVERT_VALUES USING STAB-RAST4
STAB-GSBER.
PERFORM CONVERT_VALUES USING STAB-RAST5
STAB-GSBER.
PERFORM CONVERT_VALUES USING STAB-RAST6
STAB-GSBER.
PERFORM CONVERT_VALUES USING STAB-RAST7
STAB-GSBER.
ENDIF. "TOnyc issue #3047 end
MOVE-CORRESPONDING PTAB TO STAB.
COLLECT STAB.
IF P_KKBER = 'X'. "TONYC ISSUE #2500
CLEAR HOLD_KKBER_DESC2.
SELECT SINGLE KKBTX INTO HOLD_KKBER_DESC2 FROM T014T
WHERE KKBER = STAB-KKBER AND
SPRAS = 'E'.
IF SY-SUBRC <> '0'.
HOLD_KKBER_DESC2 = 'Undetermined'.
ENDIF.
FORMAT COLOR OFF.
WRITE: / SY-VLINE.
FORMAT COLOR COL_HEADING INTENSIFIED OFF.
WRITE: 6 STAB-GSBER, HOLD_KKBER_DESC2, SY-VLINE.
ULINE.
FORMAT COLOR OFF.
WRITE: / SY-VLINE.
FORMAT COLOR COL_HEADING INTENSIFIED OFF.
IF P_CONV = 'X'. "tonyc issue #3047 begin
T001-WAERS = 'USD'.
ENDIF. "tonyc issue #3047 end
WRITE: 13 STAB-RAST1 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) STAB-RAST7 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) STAB-RAST2 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) STAB-RAST3 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) STAB-RAST4 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) STAB-RAST5 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) STAB-RAST6 NO-ZERO CURRENCY T001-WAERS, SY-VLINE.
HOLD_BUKRS2 = STAB-BUKRS. "TONYC ISSUE #2500
ULINE.
FORMAT COLOR OFF.
TOTAL_RAST1 = STAB-RAST1 + TOTAL_RAST1.
TOTAL_RAST2 = STAB-RAST2 + TOTAL_RAST2.
TOTAL_RAST3 = STAB-RAST3 + TOTAL_RAST3.
TOTAL_RAST4 = STAB-RAST4 + TOTAL_RAST4.
TOTAL_RAST5 = STAB-RAST5 + TOTAL_RAST5.
TOTAL_RAST6 = STAB-RAST6 + TOTAL_RAST6.
TOTAL_RAST7 = STAB-RAST7 + TOTAL_RAST7.
ELSE.
FORMAT COLOR COL_NORMAL INTENSIFIED OFF. "DEVK939546
IF INTENS = SPACE. "DEVK939546
FORMAT COLOR COL_NORMAL INTENSIFIED OFF. "DEVK939546
INTENS = 'X'. "DEVK939546
ELSE. "DEVK939546
FORMAT COLOR COL_NORMAL INTENSIFIED ON. "DEVK939546
INTENS = SPACE. "DEVK939546
ENDIF. "DEVK939546
WRITE: / SY-VLINE, PTAB-BUKRS, PTAB-GSBER, SY-VLINE, "DEVK939546
(14) PTAB-RAST1 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,"DEVK939546
(14) PTAB-RAST7 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,"DEVK939546
(14) PTAB-RAST2 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,"DEVK939546
(14) PTAB-RAST3 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,"DEVK939546
(14) PTAB-RAST4 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,"DEVK939546
(14) PTAB-RAST5 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,"DEVK939546
(14) PTAB-RAST6 NO-ZERO CURRENCY T001-WAERS, SY-VLINE."DEVK939546
TOTAL_RAST1 = STAB-RAST1 + TOTAL_RAST1.
TOTAL_RAST2 = STAB-RAST2 + TOTAL_RAST2.
TOTAL_RAST3 = STAB-RAST3 + TOTAL_RAST3.
TOTAL_RAST4 = STAB-RAST4 + TOTAL_RAST4.
TOTAL_RAST5 = STAB-RAST5 + TOTAL_RAST5.
TOTAL_RAST6 = STAB-RAST6 + TOTAL_RAST6.
TOTAL_RAST7 = STAB-RAST7 + TOTAL_RAST7.
ENDIF.
ENDLOOP. "DEVK939546
ULINE. "DEVK939546
IF P_KKBER = 'X'. "TONYC ISSUE #2500
IF P_CONV = 'X'. "tonyc issue #3047 begin
FORMAT COLOR OFF.
FORMAT COLOR COL_HEADING INTENSIFIED OFF.
WRITE: SY-VLINE,
6 'TOTAL ', SY-VLINE.
ULINE.
FORMAT COLOR OFF.
WRITE: / SY-VLINE.
FORMAT COLOR COL_HEADING INTENSIFIED OFF.
WRITE: 13 TOTAL_RAST1 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) TOTAL_RAST7 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) TOTAL_RAST2 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) TOTAL_RAST3 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) TOTAL_RAST4 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) TOTAL_RAST5 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) TOTAL_RAST6 NO-ZERO CURRENCY T001-WAERS, SY-VLINE.
ULINE.
ENDIF. "tonyc issue #3047 end
ELSE.
IF P_CONV = 'X'.
FORMAT COLOR OFF.
FORMAT COLOR COL_HEADING INTENSIFIED OFF.
WRITE: SY-VLINE,
6 'TOTAL ', SY-VLINE.
ULINE.
FORMAT COLOR OFF.
WRITE: / SY-VLINE.
FORMAT COLOR COL_HEADING INTENSIFIED OFF.
WRITE: 13 TOTAL_RAST1 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) TOTAL_RAST7 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) TOTAL_RAST2 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) TOTAL_RAST3 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) TOTAL_RAST4 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) TOTAL_RAST5 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
(14) TOTAL_RAST6 NO-ZERO CURRENCY T001-WAERS, SY-VLINE.
ULINE.
ENDIF.
ENDIF.
SKIP 1. "DEVK939546
ENDFORM. "DEVK939546
*& Form GET_KNKK_INFO
text
--> p1 text
<-- p2 text
FORM GET_KNKK_INFO.
CLEAR: G_WAERS,
G_KLIMK_TXT,
KNKK-KLIMK.
get credit control area (KKBER) for comp code (BUKRS)
SELECT SINGLE KLIMK
INTO KNKK-KLIMK
FROM KNKK
WHERE KUNNR = KNA1-KUNNR AND
KKBER = T001-KKBER.
IF SY-SUBRC = 0.
get currency for cred ctrl area
CLEAR IT_T014.
READ TABLE IT_T014 WITH KEY KKBER = T001-KKBER BINARY SEARCH.
G_WAERS = IT_T014-WAERS.
WRITE KNKK-KLIMK TO G_KLIMK_TXT CURRENCY G_WAERS.
ENDIF.
ENDFORM. " GET_KNKK_INFO
*& Form SELECT_KNKK
text
-->P_KKBER Credit Limit Controlling Area
<--P_FOUND_KNKK Indicates if record found
FORM SELECT_KNKK USING P_KKBER
CHANGING P_FOUND_KNKK.
CLEAR: G_WAERS,
G_KLIMK_TXT,
KNKK-KLIMK.
SELECT SINGLE KLIMK
INTO KNKK-KLIMK
FROM KNKK
WHERE KUNNR = KNA1-KUNNR AND
KKBER = P_KKBER.
IF SY-SUBRC = 0.
P_FOUND_KNKK = C_TRUE.
get currency for cred ctrl area
CLEAR IT_T014.
READ TABLE IT_T014 WITH KEY KKBER = P_KKBER BINARY SEARCH.
G_WAERS = IT_T014-WAERS.
WRITE KNKK-KLIMK TO G_KLIMK_TXT CURRENCY G_WAERS.
ELSE.
P_FOUND_KNKK = C_FALSE.
ENDIF.
ENDFORM. " SELECT_KNKK
*& Form GET_CUST_CONTACT & PHONE NUMBER
FORM GET_CUST_CONTACT.
CLEAR KNVK.
C_CREDIT_ABTNR = '0003'. "look for contact in credit dept
SELECT NAME1
NAMEV
TELF1
INTO (KNVK-NAME1,
KNVK-NAMEV,
KNVK-TELF1)
FROM KNVK
WHERE KUNNR = KNA1-KUNNR AND
ABTNR = C_CREDIT_ABTNR.
ENDSELECT.
If there wasn't a contact person for the credit dept, then just
pull up the first contact info we find regardless of dept
IF SY-SUBRC <> 0.
CLEAR KNVK.
SELECT NAME1
NAMEV
TELF1
INTO (KNVK-NAME1,
KNVK-NAMEV,
KNVK-TELF1)
FROM KNVK
WHERE KUNNR = KNA1-KUNNR.
IF SY-SUBRC = 0.
EXIT.
ENDIF.
ENDSELECT.
ELSE.
EXIT.
ENDIF. "not contact found in credit dept.
ENDFORM. " GET_CUST_CONTACT
*& Form LOAD_T014
FORM LOAD_T014.
SELECT *
INTO TABLE IT_T014
FROM T014.
SORT IT_T014.
ENDFORM. " LOAD_T014
*& Form WRITE_CUST_INFO "TONYC
text moved code and created a form. for cleaner code "TONYC
--> p1 text
<-- p2 text
FORM WRITE_CUST_INFO.
IF NOT REPORT_TYPE = 'super rep'.
IF SY-TABIX > 1.
ULINE.
ENDIF.
ENDIF.
CONCATENATE GTAB-NAMEV "JAM
GTAB-CONT_NAME1
INTO G_CONT_NAME
SEPARATED BY SPACE.
FORMAT COLOR COL_TOTAL INTENSIFIED OFF.
IF REPORT_TYPE = 'super rep'.
IF GTAB-T_IND NE 'X'.
WRITE: / GTAB-KUNNR, GTAB-NAME1, GTAB-ORT01, GTAB-REGIO, GTAB-LAND1,
"g_cont_name,
132 ONEBYTE.
ELSE.
WRITE: / GTAB_LINES-KUNNR, GTAB_LINES-NAME1, GTAB_LINES-ORT01, GTAB_LINES-REGIO, GTAB_LINES-LAND1,
"g_cont_name,
132 ONEBYTE.
ENDIF.
WRITE: /21 onebyte, 12 gtab-name2, 45 gtab-ort01,
gtab-telf1, "gtab-klimk_txt, gtab-waers.
132 onebyte.
ELSE.
WRITE: / GTAB-KUNNR, GTAB-NAME1, GTAB-ORT01, GTAB-REGIO, GTAB-LAND1,
"g_cont_name, "JAM
132 ONEBYTE.
WRITE: /11 onebyte, 12 gtab-name2, 45 gtab-ort01,
gtab-telf1, "gtab-klimk_txt, gtab-waers, "JAM
132 onebyte.
ENDIF.
ENDFORM. " WRITE_CUST_INFO
*& Form GET_AND_WRITE_SUPERINFO
text
--> p1 text
<-- p2 text
FORM GET_AND_WRITE_SUPERINFO.
ULINE.
IF GTAB-T_IND NE 'X'.
SELECT SINGLE NAME1 FROM KNA1 INTO SUPER_NAME "TONYC
WHERE KUNNR = GTAB-SUPER. "TONYC
SELECT SINGLE NAME1 FROM KNA1 INTO REP_NAME "TONYC
WHERE KUNNR = GTAB-REP. "TONYC
CONCATENATE SUPER_NAME REP_NAME INTO REPS_INFO "TONYC
SEPARATED BY BACKSLASH. "TONYC
FORMAT COLOR COL_TOTAL INTENSIFIED. "TONYC
WRITE:/ GTAB-SUPER, '/', "TONYC
GTAB-REP, "TONYC
25 REPS_INFO, 132 ONEBYTE. "TONYC
ELSE.
SELECT SINGLE NAME1 FROM KNA1 INTO SUPER_NAME
WHERE KUNNR = GTAB_LINES-SUPER.
SELECT SINGLE NAME1 FROM KNA1 INTO REP_NAME
WHERE KUNNR = GTAB_LINES-REP.
CONCATENATE SUPER_NAME REP_NAME INTO REPS_INFO
SEPARATED BY BACKSLASH.
FORMAT COLOR COL_TOTAL INTENSIFIED.
WRITE:/ GTAB_LINES-SUPER, '/',
GTAB_LINES-REP,
25 REPS_INFO, 132 ONEBYTE.
ENDIF.
ENDFORM. " GET_AND_WRITE_SUPERINFO
*& Form GET_AND_WRITE_REPINFO
text
--> p1 text
<-- p2 text
FORM GET_AND_WRITE_REPINFO.
ULINE.
SELECT SINGLE NAME1 FROM KNA1 INTO REP_NAME
WHERE KUNNR = GTAB-REP.
FORMAT COLOR COL_TOTAL INTENSIFIED.
WRITE:/ GTAB-REP,
25 REP_NAME, 132 ONEBYTE.
ENDFORM. " GET_AND_WRITE_REPINFO
*& Form WRITE_DETAIL
text
--> p1 text
<-- p2 text
FORM WRITE_DETAIL.
clear z_description. "TONYC #2216
move GTAB-KLIMK_TXT to z_hold_limit.
IF z_hold_limit = 400.
z_description = 'COD/Check'.
elseif z_hold_limit = 500.
z_description = 'COD/Cash'.
elseif z_hold_limit = 600.
z_description = 'Need Dealer Agree'.
elseif z_hold_limit = 700.
z_description = 'Need PDCs'.
elseif z_hold_limit = 800.
z_description = 'Need Fin Statements'.
elseif z_hold_limit = 900.
z_description = 'Past Due Balance'.
elseif z_hold_limit = 1000.
z_description = 'Miracle?'.
endif. "TONYC #2216
MOVE GTAB-GSBER TO T001-WAERS.
FORMAT COLOR COL_TOTAL INTENSIFIED OFF.
IF HOLD_KUNNR2 <> GTAB-KUNNR. "TONYC
IF REPORT_TYPE = 'super rep'.
WRITE: /3 ONEBYTE, GTAB-BUKRS.
WRITE: 92 gtab-klimk_txt, gtab-waers, 132 onebyte. "TONYC
WRITE: 92 gtab-klimk_txt, z_description,132 onebyte."TONYC #2500
ELSE.
WRITE: / ONEBYTE, GTAB-BUKRS.
WRITE: 92 gtab-klimk_txt, z_description,132 onebyte."TONYC #2500
WRITE: 92 gtab-klimk_txt, gtab-waers, 132 onebyte. "TONYC
ENDIF.
ENDIF.
FORMAT COLOR COL_TOTAL INTENSIFIED OFF.
IF P_KKBER = 'X'. "TONYC ISSUE# 2500
CLEAR HOLD_KKBER_DESC.
SELECT SINGLE KKBTX INTO HOLD_KKBER_DESC FROM T014T
WHERE KKBER = GTAB-KKBER AND
SPRAS = 'E'.
IF SY-SUBRC <> '0'.
HOLD_KKBER_DESC = 'Undetermined'.
ENDIF.
SELECT SINGLE KLIMK CTLPC
INTO (HOLD_KLIMK, HOLD-CTLPC)
FROM KNKK
WHERE KUNNR = GTAB-KUNNR AND
KKBER = GTAB-KKBER.
SELECT SINGLE RTEXT INTO HOLD-CTLPC-TEXT FROM T691T
WHERE SPRAS = 'EN' AND
CTLPC = HOLD-CTLPC AND
KKBER = GTAB-KKBER.
WRITE HOLD_KLIMK TO HOLD_KLIMK2 CURRENCY GTAB-WAERS.
WRITE: /7 GTAB-KKBER,
12 HOLD_KKBER_DESC,
80 HOLD_KLIMK2,
103 GTAB-GSBER,
108 HOLD-CTLPC-TEXT.
ENDIF. "TONYC ISSUE# 2500
FORMAT COLOR COL_NORMAL INTENSIFIED ON. "TONYC
MOVE STAB-GSBER TO T001-WAERS.
CLEAR HOLD_NAME.
SELECT SINGLE NAME1 FROM KNA1 INTO HOLD_NAME
WHERE KUNNR = GTAB-FILKD.
WRITE: /15 GTAB-FILKD,
30 HOLD_NAME.
IF GTAB-T_IND NE 'X'.
WRITE: /15(14) GTAB-RAST1 NO-ZERO CURRENCY T001-WAERS, ONEBYTE,
(14) GTAB-RAST7 NO-ZERO CURRENCY T001-WAERS, ONEBYTE,
(14) GTAB-RAST2 NO-ZERO CURRENCY T001-WAERS, ONEBYTE,
(14) GTAB-RAST3 NO-ZERO CURRENCY T001-WAERS, ONEBYTE,
(14) GTAB-RAST4 NO-ZERO CURRENCY T001-WAERS, ONEBYTE,
(14) GTAB-RAST5 NO-ZERO CURRENCY T001-WAERS, ONEBYTE,
(14) GTAB-RAST6 NO-ZERO CURRENCY T001-WAERS, ONEBYTE,
132 ONEBYTE.
ELSE.
IF REPORT_TYPE NE 'super rep'.
LOOP AT GTAB_LINES WHERE KUNNR = GTAB-KUNNR.
WRITE: / GTAB_LINES-SUPER, ONEBYTE,
15(14) GTAB_LINES-RAST1 NO-ZERO CURRENCY T001-WAERS, ONEBYTE,
(14) GTAB_LINES-RAST7 NO-ZERO CURRENCY T001-WAERS, ONEBYTE,
(14) GTAB_LINES-RAST2 NO-ZERO CURRENCY T001-WAERS, ONEBYTE,
(14) GTAB_LINES-RAST3 NO-ZERO CURRENCY T001-WAERS, ONEBYTE,
(14) GTAB_LINES-RAST4 NO-ZERO CURRENCY T001-WAERS, ONEBYTE,
(14) GTAB_LINES-RAST5 NO-ZERO CURRENCY T001-WAERS, ONEBYTE,
(14) GTAB_LINES-RAST6 NO-ZERO CURRENCY T001-WAERS, ONEBYTE,
132 ONEBYTE.
ENDLOOP.
ELSE.
WRITE: / GTAB_LINES-SUPER, ONEBYTE,
15(14) GTAB_LINES-RAST1 NO-ZERO CURRENCY T001-WAERS, ONEBYTE,
(14) GTAB_LINES-RAST7 NO-ZERO CURRENCY T001-WAERS, ONEBYTE,
(14) GTAB_LINES-RAST2 NO-ZERO CURRENCY T001-WAERS, ONEBYTE,
(14) GTAB_LINES-RAST3 NO-ZERO CURRENCY T001-WAERS, ONEBYTE,
(14) GTAB_LINES-RAST4 NO-ZERO CURRENCY T001-WAERS, ONEBYTE,
(14) GTAB_LINES-RAST5 NO-ZERO CURRENCY T001-WAERS, ONEBYTE,
(14) GTAB_LINES-RAST6 NO-ZERO CURRENCY T001-WAERS, ONEBYTE,
132 ONEBYTE.
ENDIF.
ENDIF.
HOLD_BUKRS = GTAB-BUKRS. "Tonyc
HOLD_KUNNR2 = GTAB-KUNNR. "TONYC
HOLD_KKBER = GTAB-KKBER. "TONYC ISSUE #2500
IF REPORT_TYPE = 'super rep' OR REPORT_TYPE = 'rep'. "DEVK939546
IF GTAB-T_IND NE 'X'.
MOVE-CORRESPONDING GTAB TO RTOT. "DEVK939546
COLLECT RTOT. "DEVK939546
ELSE.
MOVE-CORRESPONDING GTAB_LINES TO RTOT.
COLLECT RTOT.
ENDIF.
IF REPORT_TYPE = 'super rep'. "DEVK939546
IF GTAB-T_IND NE 'X'.
MOVE-CORRESPONDING GTAB TO STOT. "DEVK939546
COLLECT STOT. "DEVK939546
ELSE.
MOVE-CORRESPONDING GTAB_LINES TO STOT.
COLLECT STOT.
ENDIF.
ENDIF. "DEVK939546
ENDIF. "DEVK939546
ENDFORM. " WRITE_DETAIL
*& Form convert_values
text
-->P_STAB_RAST1 text
-->P_STAB_GSBER text
FORM CONVERT_VALUES USING P_STAB_RAST1 "tonyc issue #3047 begin
P_STAB-GSBER.
CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY'
EXPORTING
CLIENT = SY-MANDT
DATE = SY-DATUM
FOREIGN_AMOUNT = P_STAB_RAST1
FOREIGN_CURRENCY = P_STAB-GSBER
LOCAL_CURRENCY = 'USD'
RATE = 0
TYPE_OF_RATE = 'M'
READ_TCURR = 'X'
IMPORTING
EXCHANGE_RATE =
FOREIGN_FACTOR =
LOCAL_AMOUNT = P_STAB_RAST1
LOCAL_FACTOR =
EXCHANGE_RATEX =
FIXED_RATE =
DERIVED_RATE_TYPE =
EXCEPTIONS
NO_RATE_FOUND = 1
OVERFLOW = 2
NO_FACTORS_FOUND = 3
NO_SPREAD_FOUND = 4
DERIVED_2_TIMES = 5
OTHERS = 6 .
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. " convert_valuessolved
Maybe you are looking for
-
Sharing single iPhoto library between 2 users on a single computer
Hello, I am currently using iPhoto 5 on a Mac Mini with 2 total users on the computer. I know that it is easy to share iPhoto pictures over a server with other computers, but does anyone know how to share a single library between 2 users on the same
-
Hi All, I have a perplexing problem with creating some links. I created a button using the shapes tools, I use the command/shift/4 to capture the image I created, I go to photoshop, edit it, then save it as a jpeg, put it into my site, make it a link
-
Cost Center planning Error.
Dear All, I am getting problem wih Fund in doing Cost center planning (kp06). In client level there are 2 controlling areas one is 4000 and another is 6000. the compny code which assigned to controllinga area 6000 they activated fund. but the company
-
Since getting my Z30 it has been unable to integrate properly with the bluetooth function in a BMW. Other BB phones have displayed correctly. The Z30 shows all contacts as numbers instead of names which makes searches impossible. I have tried nume
-
Hello Folks, For Oracle 10g its recommended Segment space management as auto by oracle but do it have any limitations I understand for changing from manual to auto need to recreate tablespaces,is it worth change from manual to auto i mean do it provi