AR DATA FLOW (TABLE LEVEL) - INVOICE편

제품 : FIN_AR
작성날짜 : 2003-09-16
AR DATA FLOW (TABLE LEVEL) - INVOICE편
=====================================
PURPOSE
이 문서에서는 AR table들에 대해 어떻게 data가 들어가는지에 대해
설명한다.
Invoice transaction을 기준으로 설명한다.
Explanation
1. Invoice
User가 invoice를 입력하면, 아래의 table들에 data가 insert된다.
o RA_CUSTOMER_TRX_ALL (Invoice Header)
o RA_CUSTOMER_TRX_LINES_ALL (Line Details)
o RA_CUST_TRX_LINE_GL_DIST_ALL (Information for posting to GL)
o RA_CUST_TRX_LINES_SALESREPS_ALL (Sales Credit Information)
일단, invoice가 "Complete"되면, 아래의 table에 한줄(혹은 그 이상)이
추가로 Insert된다.
o AR_PAYMENT_SCHEDULES_ALL (Running Totals for Invoice Amounts)
대체로 하나의 invoice는 하나의 Payment schedule record를 가지지만,
만약 할부(Installment)로 Pay처리되는 invoice라면, installment하나당
하나의 Payment schedule record를 가진다.
| | /| |
| TRX |---------------<-| PAYMENT |
| | \| SCHEDULE |
| |
| |
^ -------
/|\ |
------------ |
| | |
| TRX_LINES | |
_| | |
/ ------------ |
| | | |
\__/ | |
^ |
/|\ |
| |
| GL_DIST |
| |
1.1 RA_CUSTOMER_TRX_ALL
Invoice의 Header정보(Customer, Invoice Number, date.. etc)를 담고 있는 table이다.
Invoice하나당 한줄의 정보가 Insert된다.
Key = CUSTOMER_TRX_ID (generated from sequence RA_CUSTOMER_TRX_S)
Important Fields
TRX_NUMBER - User Entered Invoice Number
CUST_TRX_TYPE_ID - Foreign key to RA_CUST_TRX_TYPES
BILL_TO_CUSTOMER_ID - Foreign Key to RA_CUSTOMERS
SHIP_TO_CUSTOMER_ID - Foreign key to RA_CUSTOMERS
TRX_DATE - Invoice Date
COMPLETE_FLAG - Y or N
1.2 RA_CUSTOMER_TRX_LINES_ALL
Invoice의 Line정보(수금 item및 금액, Tax등)가 insert되는 table이다.
Invoice하나당 한줄이상을 가진다.
Key = RA_CUSTOMER_TRX_LINE_ID (from sequence RA_CUSTOMER_TRX_LINES_S)
Important Fields
CUSTOMER_TRX_ID - Foreign key to RA_CUSTOMER_TRX
LINE_TYPE - LINE, TAX, FREIGHT
QUANTITY_INVOICED - Line Quantity
UNIT_SELLING_PRICE - Price per unit
EXTENDED_AMOUNT - Quantity * Price
LINK_TO_CUST_TRX_LINE_ID - Null for LINE, for TAX and FREIGHT lines
contains the RA_CUSTOMER_TRX_LINE_ID of
associated LINE record
1.3 RA_CUST_TRX_LINE_GL_DIST_ALL
GL로 Posting될 정보가 담겨져 있다.
Invoice Line당 한줄 + Invoice Header 한줄로 이루어져 있다.
(예를들어, Invoice의 Line이 총 3줄이라면, RA_CUST_TRX_LINE_GL_DIST_ALL table에는 총 4줄의 정보가 담기게 된다.)
Key = CUST_TRX_LINE_GL_DIST_ID (from sequence)
Important Fields
CUSTOMER_TRX_ID - Foreign key to RA_CUSTOMER_TRX
CUSTOMER_TRX_LINE_ID - Foreign key to RA_CUSTOMER_TRX_LINES or
Null if this relates to Invoice Header.
AMOUNT - Value of distribution - entered currency
ACCOUNTED_AMOUNT - Value of distribution - book currency
CODE_COMBINATION_ID - Foreign key to GL_CODE_COMBINATIONS
POSTING_CONTROL_ID - -3 if unposted
GL_DATE - Accounting date.
GL_POSTED_DATE - Date Invoice posted to GL.
1.4 RA_CUST_TRX_LINE_SALESREPS_ALL
해당 invoice가 입력될때 함께 입력된 Sales Person에 대한 정보가
담겨져 있다.
1.5 AR_PAYMENT_SCHEDULES_ALL
해당 invoice에 대해서 Line, Tax, 운송비 등 각각의 항목에 대한 Total값과
Remaining값을 담고 있다.
대체로 Invoice당 한줄이 insert된다.
Key = PAYMENT_SCHEDULE_ID (from sequence AR_PAYMENT_SCHEDULES_S)
Important Fields
CUSTOMER_TRX_ID - Foreign key to RA_CUSTOMER_TRX
STATUS - (OP)en or (CL)losed
ACTUAL_DATE_CLOSED - 31-DEC-4712 if still open, otherwise
date payment schedule closed.
GL_DATE_CLOSED - 31-DEC-4712 if still open, otherwise the
gl date of the closing transaction.
AMOUNT_DUE_ORIGINAL - Invoice Total Amount
AMOUNT_DUE_REMAINING - Total Amount outstanding for Invoice.
AMOUNT_LINE_ITEMS_ORIGINAL - Sum of Invoice Line amounts.
AMOUNT_LINE_ITEMS_REMAINING - Outstanding Line amounts.
TAX_ORIGINAL - Total Tax for Invoice.
TAX_REMAINING - Outstanding Tax for Invoice
FREIGHT_ORIGINAL - Total Freight For Invoice
FREIGHT_REMAINING - Outstanding Freight
AMOUNT_APPLIED - Total payments applied to this Invoice.
AMOUNT_CREDITED - Total Credit Memos applied.
AMOUNT_ADJUSTED - Total value of adjustments.
The payment schedule should balance within itself, ie the following
calculations
should be true:-
AMOUNT_DUE_ORIGINAL = AMOUNT_LINE_ITEMS_ORIGINAL
+ TAX_ORIGINAL
+ FREIGHT_ORIGINAL
AMOUNT_DUE_REMAINING = AMOUNT_LINE_ITEMS_REMAINING
+ TAX_REMAINING
+ FREIGHT_REMAINING
AMOUNT_DUE_ORIGINAL = AMOUNT_DUE_REMAINING
+ AMOUNT_APPLIED
- AMOUNT_CREDITED
+ AMOUNT_ADJUSTED
Reference Documents
Note : 29277.1

Hello,
The basic flow of data is
ERP tables - source snapshots - source views (eg MRP_AP%) - staging tables (MSC_ST%) - ODS tables ( MSC%)
Check out note 412375.1. This is the flow for sales order data for ASCP.
regards
Geert

Similar Messages

  • AR DATA FLOW (TABLE LEVEL) - ON ACCOUNT CREDITS & CASH RECEIPTS편

    제품 : FIN_AR
    작성날짜 : 2003-09-16
    AR DATA FLOW (TABLE LEVEL) - ON ACCOUNT CREDITS & CASH RECEIPTS편
    ================================================================
    PURPOSE
    이 문서에서는 AR table들에 대해 어떻게 data가 들어가는지에 대해
    설명한다.
    On Account와 Cash Receipt을 기준으로 설명한다.
    Explanation
    1. On Account Credits
    특정 Customer에 대한 Credit정보를 입력했으나, 아직 특정 Invoice에는 Apply되지 않은 정보를 "On Account" credit이라고 한다.
    Credit정보가 들어있기 때문에, Credit Memo와 유사하게 table에 저장된다.
    Credit Memo와 다른 점은 아래와 같다.
    o When first entered the payment schedule will be fully remaining.
    o When first entered no records are inserted into AR_RECEIVABLE_APPLI
    CATIONS_ALL.
    o The line records will have NULL values in
    PREVIOUS_CUSTOMER_TRX_ID
    PREVIOUS_CUSTOMER_TRX_LINE_ID
    o The distribution lines have to be typed in as there is no invoice
    to copy them from.
    "On Account"는 같은 Supplier상에서는 어떠한 invoice에 대해서 적용이 가능하다는 점에서,
    특정 invoice에만 apply가 가능한 Credit Memo와는 다르다.
    2. Cash Receipts
    Recipt정보가 입력되면, 아래의 table들에 insert된다.
    o AR_CASH_RECEIPTS_ALL
    o AR_CASH_RECEIPT_HISTORY_ALL
    o AR_PAYMENT_SCHEDULES_ALL
    o AR_RECEIVABLE_APPLICATIONS_ALL
    입력된 Receipt정보가 특정 invoice와 match되면, 추가 record가
    AR_RECEIVABLE_APPLICATIONS_ALL에 insert되고, AR_PAYMENT_SCHEDULE_ALL에는 update된다.
    | | | |
    | RECEIPT |------------------| PAYMENT |
    | | | SCHEDULE |
    | |
    | |
    ^ ^
    /|\ /|\
    | | | |
    | RECEIPT | |APPLICATIONS|
    | HISTORY | | |
    2.1 AR_CASH_RECEIPTS_ALL
    Receipt에 대한 기본정보가 insert된다. 한 receipt당 한줄이 insert된다.
    Key = CASH_RECEIPT_ID (from sequence AR_CASH_RECEIPTS_S)
    Important Fields
    AMOUNT - Value of receipt in entered currency
    RECEIPT_NUMBER - Payment Number entered by user.
    STATUS - (APP)lied, (UNAPP)lied, (REV)ersed Payment,
    (STOP) payment, (NSF) insufficient funds.
    It will only change to APP once the whole
    amount of the receipt is applied.
    REVERSAL_DATE - NULL unless receipt reversed
    PAY_FROM_CUSTOMER - Contains CUSTOMER_ID for RA_CUSTOMERS
    2.2 AR_CASH_RECEIPT_HISTORY_ALL
    Receipt하나당 한줄의 data가 insert되고, GL로 Posting된 정보가 들어간다.
    Receipt이 reverse되면, 새로운 row가 insert된다.
    Key = CASH_RECEIPT_HISTORY_ID (from sequence)
    Important Fields
    CASH_RECEIPT_ID - Foreign key to AR_CASH_RECEIPTS record.
    STATUS - CLEARED for manually input receipts.
    GL_DATE - Accounting date
    ACCOUNT_CODE_COMBINATION_ID - Key to GL_CODE_COMBINATIONS
    POSTING_CONTROL_ID - -3 if unposted
    REVERSAL_POSTING_CONTROL_ID - NULL unless payment reversed
    CURRENT_RECORD_FLAG - Y if this is latest record
    PRV_STAT_CASH_RECEIPT_HIST_ID - Key to previous receipt history record.
    2.3 AR_PAYMENT_SCHEDULES_ALL
    Invoice에 apply된 Total 금액정보가 저장된다.
    Key = PAYMENT_SCHEDULE_ID (from sequence)
    Important Fields
    CUSTOMER_TRX_ID - NULL
    CASH_RECEIPT_ID - Foreign key to AR_CASH_RECEIPTS record.
    AMOUNT_DUE_ORIGINAL - Total amount of receipt (usually negative)
    AMOUNT_DUE_REMAINING - Unapplied amount of receipt.
    AMOUNT_APPLIED - How much of this receipt is applied .
    STATUS - (OP)en or (CL)osed. Will only be closed if
    AMOUNT_DUE_REMAINING is zero.
    All of the fields holding LINE, TAX and FREIGHT amounts are NULL.
    2.4 AR_RECEIVABLE_APPLICATIONS
    Receipt이 처음 생성될때, 한줄의 data가 이 table에 insert되고,
    invoice에 대해 Apply혹은 Unapply가발생하면, 두줄씩 새롭게 생성된다.
    예를들면, 아래와 같다.
    Record 1 UNAPP 700
    { Record 2      UNAPP       -200
    { Record 3      APP          200      cross referenced to the Invoice
    { Record 4      UNAPP       -500
    { Record 5      APP          500      cross referenced to 2nd Invoice
    The sum of the amounts on records that have a particuar status should add up
    to the running totals on the payment schedulesi, but with the opposite sign.
    i.e. In the example above
    AR_PAYMENT_SCHEDULES.AMOUNT_DUE_ORIGINAL = -700
    AR_PAYMENT_SCHEDULES.AMOUNT_DUE_REMAINING = 0
    AR_PAYMENT_SCHEDULES.AMOUNT_APPLIED = -700
    UNAPP = 700 -200 -500 = 0
    APP = 200 + 500 = 700
    Statuses of these records can be:-
    UNAPP - Unapplied
    APP - Applied
    ACC - On Account
    UNID - Unidentified (Customer Not known)
    이러한 record내역은 invoice/credit/receipt에 있는 Transaction History form에서 확인할 수 있다.
    2.5 AR_PAYMENT_SCHEDULE (Invoice)
    Receipt이 특정 invoice에 apply되면, invoice에 대한 Payment Schedule record가 update된다.
    remaining amount field 값은 Payment금액만큼 줄어들게 된다.
    만약, remaining amount가 "0"가 되면, invoice Payment schedule은 closed상태가 된다.
    예를들어, Receipt금액 "200"이 "1175" invoice금액(Tax금액 175가 포함된)에 apply되었다면, Invoice의 Payment Schedule은 아래와 같이 조정된다.
    Before After
    AMOUNT_DUE_REMAINING 1175.00 975.00
    AMOUNT_LINE_ITEMS_REMAINING 1000.00 800.00
    TAX_REMAINING 175.00 175.00
    FREIGHT_REMAINING 0.00 0.00
    Note that receipts are applied in a fixed sequence:-
    1. Line Amounts
    2. Tax Amounts
    3. Freight Amounts
    ie The TAX_REMAINING figure will only start to decrease when the
    AMOUNT_LINE_ITEMS_REMAINING is zero.
    Reference Documents
    Note : 29277.1 & 29278.1

    Hi,
    This query works fine for me:
    SELECT CR.CASH_RECEIPT_ID,
                CR.RECEIPT_NUMBER,
                CR.RECEIPT_DATE,
                CR.CURRENCY_CODE,
                DECODE ( CR.TYPE, 'MISC', NULL, NVL (SUM (DECODE (RA.STATUS, 'ACC', NVL (RA.AMOUNT_APPLIED, 0), 0)), 0)) ON_ACCOUNT_AMOUNT
             FROM AR_RECEIVABLE_APPLICATIONS_ALL RA,
                AR_CASH_RECEIPTS_ALL CR,
                AR_RECEIPT_METHODS RM
          WHERE RA.CASH_RECEIPT_ID = CR.CASH_RECEIPT_ID
                AND CR.RECEIPT_METHOD_ID = RM.RECEIPT_METHOD_ID
                AND CR.ORG_ID = <org_id>
          GROUP BY CR.CASH_RECEIPT_ID,
                CR.RECEIPT_DATE,
                CR.RECEIPT_NUMBER,
                RM.NAME,
                CR.CURRENCY_CODE,
                CR.TYPE order by receipt_date desc
    Let me know if it worked.
    Octavio

  • Changing data in table level

    Hi friends,
    I want to change the address of ship to party in delivery document and billing document, table level. So anyone can tell me what is the table and fields name to change the address in delivery document and billing document. In LIKP and VBRK I am not able to find the fields. In VL03N main screen below to outbound delivery, ship to party will be there, right to that ship to party name will be there, right to that address button will be there. If you press that we will get the address of ship to party. I want to change the data in that? So I need the table and field of that
    Anyone can help me out?
    Ramesh

    Hi,
    This address actually comes from customer master for partner function WE .
    But in sales order and delivery u can change the address in VA02 and VL02N tcode by going thru the steps u have mentioned .
    Generally in Sales order we can do the chnages and then thru copy control this data from sales order flows to subsequent doc . So u can chnage it in sales order in chnage mode it will be available in Delivery and Invoice.
    In case u don't want to chnage it in sales order but u want to chnage in Delivery then VL02N and then chnage .
    Hope this help

  • CRM 7.0 security model & accessebility of data at table level

    Hi CRM Experts,
    Firstly i am new to this topic 'CRM 7.0 security model' and i want following information from you, my simple requirement of my  on going project.
    1. what are different types of roles in CRM 7.0 system and how to define those roles & which table all the role information is stored in CRM 7.0 ABAP & Java stack installled system.
    2. How are the ABAP & JAVA roles are different from each other in CRM 7.0 system.
    3. How to define portal roles in CRM 7.0 & which table or storage location these portal roles data are stored & is there any way we can extract them from CRM system, if any webservice or any mean this can be achieved?
    Basically i am interested in users/roles/authorization data in CRM 7.0 for both ABAP & JAVA stack system. please help me achieving this requirement.
    Thanks,
    Digamber.

    Digamber,
    For an overview of the changes in CRM 7.0, visit the following link:
    http://www.sap.com/germany/solutions/business-suite/crm/SAP_CRM7_Highlights.pdf
    In respect to Security model, CRM 7.0 is a bit different, where a lot of functionality is executed via BSPs that are run on a browser. However, the authorizations should be still need to assign in the the backend.
    For CRM specific security guides, I recommend you visit the SAP link - http://service.sap.com/security
    In the left pane hierarchy, go to 'Security Guides'. Scroll down to find the CRM section and download the required guides.
    Also, further there are new concepts like WEBCLIENT UI (an extra authorization layer, which is UI COMPONENT LEVEL and logical links. (Controlled by object UIU_COMP)). Standard authorization setup in the new WEBUI client is now controlled by both backend authorizations and the UIU_COMP. That means even if the user has SAP_ALL access, he will not able to perform any actions.
    Hope this provides some light!!
    Rgds,
    Raghu

  • DATA  FLOW  TO  FIND INVOICE DETAILS  TO PARITICULAR PUCHASE ORDER

    How to find the invoice details of particular purchase order number ?
    what are tables used for this ?
    each puchase order item may have multiple delivery numbers ,
    and each delivery is having invoice number .
    if i picked the delivery number through lips table field is vgbel and vgpos for po and po items .
    performance issues raised it takes more time  to execute.
    is there any another way for this?
    is there any function module for this ?
    can any one help me in this issue.

    Hi
    W.r.t MM you are asking Vendor Invoices for the PO
    then RBKP and RSEG will give the Vendor INvoices related to PO
    Coming to SD.
    <b>EKKN will have VBELN and POSNR (sales order Details)
    Pass them to VBRP-AUBEL and VBRP-AUPOS fields and get the VBRP-VBELN</b> and other Invoice details
    Reward points if useful
    Regards
    Anji

  • How to display the data at Table level though we don't have authorisations

    Hi Friends,
    While i'm trying to check the entries of a Table, it's ending up by showing status messg. as 'no authorisations to display the contents' !!!
    Even in debuggin mode, i tried by passing AUTH check (by changin subrc value), but went vain as showing same message
    Please help me out, Thanks
    Best Regards,
    Suren
    Moderator message: please do not ask how to circumvent authorization checks, rather apply for the missing roles.
    Edited by: Thomas Zloch on Dec 1, 2010 11:58 AM

    Try function module CALL_TRANSACTION_FROM_TABLE for SE16 transaction code.

  • Table Data Flow AutoPayment

    Hi All,
    Can anyone have a clear data flow (table) when perform autopayment F110 , and then go to DMEE generate XML file.
    That means, how data transfer from table REGUH, REGUP to FPAYH, and FPAYHX
    Do we need to do field mapping for this process ?
    I am still have question about the process to XML file.
    Your help would be high appericated and get point.
    Thanks !

    Hello Dude,
    Try to find out the field of the table is in which page. If it is in page 2 so u can print the amount there.
    try this script
    for(var i = 0 ; i < xfa.host.numPages ; i++)  // loop uoto total number of pages
      var oFields = xfa.layout.pageContent(i, "field"); 
      totalfields   =  oFields.length;                    // gives the number of fields in a page
       flag=1;      
      for (var nNodeCount = 0; nNodeCount < z; nNodeCount++)  // loop through the fields
             if (oFields.item(nNodeCount).name == "find your table field")   // Here find for that field if it works print maount in that page
    Good Luck
    Regards,
    RAkesh

  • INVOICE에 PREPAYMENT를 APPLY한 후의 DATA FLOW

    제품 : FIN_AP
    작성날짜 : 2004-05-19
    INVOICE에 PREPAYMENT를 APPLY한 후의 DATA FLOW
    ========================================
    PURPOSE
    Invoice에 Prepayment를 Apply한 후의 Data변화에 대해서
    간략하게 설명합니다.
    Explanation
    승인 및 Accounting처리가 끝난 Invoice에 대해서 Prepayment를 Apply하게되면,
    승인상태는 "Need reapproval"이고, Accounted상태는 "Partial"로 바뀌게 됩니다.
    그 후에 Approve작업 및 Accounting작업을 하면,
    다시 "Approved"와 "Yes"로 바뀌게 되고, 그 후에 Prepayment unapply하게되면,
    다시 상태는 "Need Reapproval"과 "Partial"로 바뀝니다.
    Table level에서는 Accounting전까지는 송장 Main table, 즉,
    AP_INVOICES_ALL, AP_INVOICE_DISTRIBUTIONS_ALL, AP_PAYMENT_SCHEDULES_ALL 등의
    특정 column값들만 변하게 되고, Accounting생성작업이 실행되면,
    Event와 AP_AE_HEADERS_ALL, AP_AE_LINES_ALL table등에 각각의 Event data가
    발생하게 됩니다.
    즉, Invoice, Prepayment Apply, Prepayment unapply 등과 같은 Event data가 발생합니다.

  • Error while Inserting data into flow table

    Hi All,
    I am very new to ODI, I am facing lot of problem in my 1st interface. So I have many questions here, please forgive me if it has irritated to you.
    ========================
    I am developing a simple Project to load a data from an input source file (csv) file into a staging table.
    My plan is to achieve this in 3 interfaces:
    1. Interface-1 : Load the data from an input source (csv) file into a staging table (say Stg_1)
    2. Interface-2 : Read the data from the staging table (stg_1) apply the business rules to it and copy the processed records into another staging table (say stg_2)
    3. Interface-3 : Copy the data from staging table (stg_2) into the target table (say Target) in the target database.
    Question-1 : Is this approach correct?
    ========================
    I don't have any key columns in the staging table (stg_1). When I tried to execute the Flow Control of this I got an error:
    Flow Control not possible if no Key is declared in your Target Datastore
    With one of the response (the response was - "FLOW control requires a KEY in the target table") in this Forum I have introduced a column called "Record_ID" and made it a Primary Key column into my staging table (stg_1) and my problem has been resolved.
    Question-2 : Is a Key column compulsary in the target table? I am working in BO Data Integrator, there is no such compulsion ... I am little confused.
    ========================
    Next, I have defined one Project level sequence. I have mapped the newly introduced key column Record_Id (Primary Key) with the Project level sequence. Now I am got another error of "CKM not selected".
    For this, I have inserted "Insert Check (CKM)" knowledge module in my Project. With this the above problem of "CKM not selected" has been resolved.
    Question-3 : When is this CKM knowledge module required?
    ========================
    After this, the flow/interface is failing while loading data into the intermediar ODI created flow table (I$)
    1 - Loading - SS_0 - Drop work table
    2 - Loading - SS_0 - Create work table
    3 - Loading - SS_0 - Load data
    5 - Integration - FTE Actual data to Staging table - Drop flow table
    6 - Integration - FTE Actual data to Staging table - Create flow table I$
    7 - Integration - FTE Actual data to Staging table - Delete target table
    8 - Integration - FTE Actual data to Staging table - Insert flow into I$ table
    The Error is at Step-8 above. When opened the "Execution" tab for this step I found the message - "Missing parameter Project_1.FTE_Actual_Data_seq_NEXTVAL RECORD_ID".
    Question-4 : What/why is this error? Did I made any mistake while creating a sequence?

    Everyone is new and starts somewhere. And the community is there to help you.
    1.) What is the idea of moving data from stg_1 and then to stg_2 ? Do you really need it for any other purpose other than move data from SourceFile to Target DB.
    Otherwise, its simple to move data from SourceFile -> Target Table
    2.) Does your Target table have a Key ?
    3.) CKM (Check KM) is required when you want to do constraint validation (Checking) on your data. You can define constraints (business rules) on the target table and Flow Control will check the data that is flowing from Source File to Target table using the CKM. All the records that donot satisfy the constraint will be added to E$ (Error table) and will not be added to the Target table.
    4.) Try to avoid ODI sequences. They are slow and arent scalable. Try to use Database sequence wherever possible. And use the DB sequence is target mapping as
    <%=odiRef.getObjectName( "L" , "MY_DB_Sequence_Row" , "D" )%>.nextval
    where MY_DB_Sequence_Row is the oracle sequence in the target schema.
    HTH

  • R11.0.3: An Invoice with future dated apyment data flow

    제품 : FIN_AP
    작성날짜 : 2003-11-18
    R11.0.3: An Invoice with future dated apyment data flow
    ===============================================
    PURPOSE
    Future Dated Payment Term을 사용하는 Invoice의 Data Flow에 대해 살펴보도록 한다.
    Explanation
    accounting rule = accrual
    .allowed future dated payment
    1. Create a standard invoice (invoice amount: 2100, item amount: 2100, payment term : future dated payment)
    And transfer it to GL.
    * ap_invoice_distributions_all
    accounting_date = 2003-11-11
    accrual_posted_flag = Y
    posted_flag = Y
    * ap_trial_balance
    accounting_date = 2003-11-11
    distribution_amount = 2100
    * 해당 data gl_interface table로 넘어감.
    2. Posting these transferred journals in gl module
    * 해당 data가 gl_interface table에서 삭제 된 후
    * gl_je_lines
    accounted_dr = 2100 charge
    accounted_cr = 2100 liability
    3. Create a payment against this invoice with mature date = 12-nov-2003 and then transfer it to gl
    * ap_invoice_payments_all
    accounting_date = 2003-11-11
    accrual_posted_flag = 'N'
    posted_flag = 'N'
    future_pay_posted_flag = 'Y'
    * ap_payment_distributions_all
    line_type_lookup_code = 'CASH'
    * ap_trial_balance
    accounting_date = 2003-11-11
    payment_amount = 2100
    * ap_checks_all
    status_lookup_code = 'NEGOTIABLE'
    4. Posting these payment journals in gl module
    * 해당 data가 gl_interface table에서 삭제 된 후
    * gl_je_lines
    accounted__cr : 2100 future pay
    accounted_dr : 2100 liability
    5. Clear this payment and then transfer to gl
    Future dated payment 이고 Cash Management 를 사용하면 Cash Management 에서
    Bank Reconcilation을 해주시면 됩니다.
    Cash Management 를 사용하지 않으실 때는
    "automatic clearing for future dated payment" 를 수행하여서 clear 를 해주어야 합니다.
    이번 test case에서는 cash managemnt를 사용하지 않고 automatic clearing for
    future dated payment 를 수행하여 clear 해주었습니다.
    * ap_checks_all
    status_lookup_code = 'CLEARED BUT UNACCOUNTED'
    Cash Management를 사용하지 않기 때문에 status가 위와 같이 나타납니다.
    Cash Management를 사용하면 option에 따라 status가 cleared나 reconciled로 변경 됩니다.
    6. Transfer these cleared payment to gl and posting in gl
    * 이 때에는 ap_trial_balance table에는 아무런 영향도 주지 않습니다.
    * ap_invoice_payments_all
    accrual_posted_flag = 'Y'
    posted_flag = 'Y'
    * gl_je_lines
    accounted_dr= 2100 future pay
    accounted_cr = 2100 cash
    Example
    Reference Documents
    N/A

    Rohini,
      Thanks for your answer; I was out for few days and hence the delay.
      What I am looking for is the complete usage model of the following ODS.
    1> 0BBP_SC     we have figured it out
    2> 0BBP_SCA    we have figured it out
    3> 0BBP_DOC    we have figured it out
    4> 0bbp_inv    we need help
         Looks like this can be populated from R3 using the following
    Data Source    Info Source                    ODS Object
    2LIS_02_ITM    2LIS_02_ITM                 0BBP_INV
    2LIS_02_HDR    2LIS_02_HDR                0BBP_INV
    5> 0BBP_DS     we need help
    6> 0bbp_po     we need help
        The same combination is also used to populate the 0BBP_PO as well. We suspect that 0BBP_DS will then be populated from both 0BBP_INV and 0BBP_PO. At least that what we though after activating the BC and reading the sap help on BC for SRM.
      We are doing a proof of concept and want to know all the ODS with data. We want to build an end to end (Shopping cart, approval, Doc flow, PO data with value, Invoice data with Value) and struggling to understand the model surrounding this three ODS ( 0bbp_inv, 0bbp_ds, 0bbp_po). Any help in this area will be appreciated.
    Thanks
    Arun

  • Need help in copying Invoice date to lower level item in Sales order report

    Hello Experts,
    I am debugging into one Sales order report.I need little bit help.The report is displaying Invoice Date for
    Sales order Billing documents for Higher item in Bill of Material Structures.But as per user requirement,
    I am supposed to show the Invoice date for lower level items also.The field for Higher level item is 'UEPOS'.
    I want to copy the Invoice date for Higher level item to lower level item. Can you please guide me in the logic?
    Thanking you in anticipation.
    Best Regards,
    Harish

    Hi BreakPoint,
    Thanks for the information.
    I have applied the same way but it is showing only lower line items now.
    Invoice dates for Higher level items are not there.
    I am pasting the code here which I have applied.
    Then you can give me more guidence.
    This is to be done only for 'ZREP' sales orders.
    if w_vbak-auart EQ 'ZREP' and w_vbak-uepos is not INITIAL.
                          read table t_final into w_final_ZREP with key vbeln = w_vbak-vbeln
                                                                        posnr = w_vbak-uepos.
                             w_final-erdat_i = w_final_ZREP-erdat_i.
                             else.
                    if w_vbak-auart EQ 'ZREP' and w_vbak-uepos is INITIAL.
                      w_final-erdat_i = w_invdate.
                    endif.
                    endif.
    Can you please sugest me changes here?
    Best Regards,
    Harish
    Edited by: joshihaa on Jul 13, 2010 6:22 PM

  • Setup tables for invoices header data (2LIS_13_VDHDR)

    Hi experts,
    I am using 2LIS_13_VAHDR and 2LIS_13_VAITM to transfer data to SAP BW.  Through the t-code SBIW, I I run the job to fill setup tables with invoices data. the job is completed succefully. when I check the extractors in RSA3, the extractor 2LIS_13_VAHDR doesn't bring any data while 2LIS_13_VAITM bring a set of items !!
    I m wondering why I dont get invoices header data!
    Thank's a lot for your help.
    Abdess,

    Hi,
    Did you delete the old initialization request from BW and also delete old setup table.
    Because the issue is strange, If you are able to see entries in item then header should also fetch data.
    Repeat the steps again if you have time.
    Use T-Code LBWG to delete setup table.
    Delete MCXE13 entries in LBWQ.
    Use T-Code OLI9BW to fillup setup table for 2lis_13.
    Thanks,
    Shakthi Raj Natarajan.

  • DS 4.2 get ECC CDHDR deltas in ABAP data flow using last run log table

    I have a DS 4.2 batch job where I'm trying to get ECC CDHDR deltas inside an ABAP data flow.  My SQL Server log table has an ECC CDHDR last_run_date_time (e.g. '6/6/2014 10:10:00') where I select it at the start of the DS 4.2 batch job run and then update it to the last run date/time at the end of the DS 4.2 batch job run.
    The problem is that CDHDR has the date (UDATE) and time (UTIME) in separate fields and inside an ABAP data flow there are limited DS functions.  For example, outside of the ABAP data flow I could use the DS function concat_date_time for UDATE and UTIME so that I could have a where clause of 'concat
    _date_time(UDATE, UTIME) > last_run_date_time and concat_date_time(UDATE, UTIME) <= current_run_date_time'.  However, inside the ABAP data flow the DS function concat_date_time is not available.  Is there some way to concatenate UDATE + UTIME inside an ABAP data flow?
    Any help is appreciated.
    Thanks,
    Brad

    Michael,
    I'm trying to concatenate date and time and here's my ABAP data flow where clause:
    CDHDR.OBJECTCLAS in ('DEBI', 'KRED', 'MATERIAL')
    and ((CDHDR.UDATE || ' ' || CDHDR.UTIME) > $CDHDR_Last_Run_Date_Time)
    and ((CDHDR.UDATE || ' ' || CDHDR.UTIME) <= $Run_Date_Time)
    Here are DS print statements showing my global variable values:
    $Run_Date_Time is 2014.06.09 14:14:35
    $CDHDR_Last_Run_Date_Time is 1900.01.01 00:00:01
    The issue is I just created a CDHDR record with a UDATE of '06/09/2014' and UTIME of '10:48:27' and it's not being pulled in the ABAP data flow.  Here's selected contents of the generated ABAP file (*.aba):
    PARAMETER $PARAM1 TYPE D.
    PARAMETER $PARAM2 TYPE D.
    concatenate CDHDR-UDATE ' ' into ALTMP1.
    concatenate ALTMP1 CDHDR-UTIME into ALTMP2.
    concatenate CDHDR-UDATE ' ' into ALTMP3.
    concatenate ALTMP3 CDHDR-UTIME into ALTMP4.
    IF ( ( ALTMP4 <= $PARAM2 )
    AND ( ALTMP2 > $PARAM1 ) ).
    So $PARAM1 corresponds to $CDHDR_Last_Run_Date_Time ('1900.01.01 00:00:01') and $PARAM2 corresponds to $Run_Date_Time ('2014.06.09 14:14:35').  But from my understanding ABAP data type D is for date only (YYYYMMDD) and doesn't include time, so is my time somehow being defaulted to '00:00:00' when it gets to DS?  I ask this as a CDHDR record I created on 6/6 wasn't pulled during my 6/6 testing but this 6/6 CDHDR record was pulled today.
    I can get  last_run_date_time and current_run_date_time into separate date and time fields but I'm not sure how to build the where clause using separate date and time fields.  Do you have any recommendations or is there a better way for me to pull CDHDR deltas in an ABAP data flow using something different than a last run log table?
    Thanks,
    Brad

  • Using ABAP DATA FLOW to pull data from APO tables

    I am trying to use an ABAP Data flow to pull data from APO and receive error 150301. I can do a direct table pull and receive no error, but when I try to put it in an ABAP data data flow I get the issue. Any help would be great.

    Hi
    I know you "closed" this, however someone else might read it so I'll add that when you use an ABAP dataflow, logic can be pushed to ECC - table joins, filters, etc.  (Which can be seen in the generated ABAP).
    Michael

  • Building a data flow task, within a foreach loop for dynamic table name, but ole db source not allowing variable

    In my control flow, I set up a variable for the table name, enumerated by SMO, following the instructions from the link here:
    http://www.bidn.com/blogs/mikedavis/ssis/156/using-a-for-each-loop-on-tables-ssis
    Now, I put a data flow task inside the foreach. I selected the OLE DB connection manger for my database, set the Data access mode to "Table name or view name variable", and selected my variable name from the drop down. So far so good. When I click on OK,
    it gives me an error 0x80040E37, basically saying it can't open the rowset for "my variable", Check that the object exists in the database.
    So, I assume I won't be able to do this "that' easily, and I will need to build a "SQL command from variable" or some such thing. Any advice on how to build this Source editor to dynamically name my columns from the variable?
    Thanks in advance!
    mpleaf

    Hi mpleaf,
    Please try to set "ValidateExternalData" to False in your OLE DB Source Properties and "DelayValidation" property to TRUE, please refer to similar threads:
    http://social.msdn.microsoft.com/Forums/en-US/sqlintegrationservices/thread/620557d9-41bc-4a40-86d5-0a8d2f910d8c/
    http://social.msdn.microsoft.com/Forums/en-US/sqlintegrationservices/thread/456f2201-447c-41b3-bf27-b3ba47e6b737
    Thanks,
    Eileen
    Eileen Zhao
    TechNet Community Support

Maybe you are looking for