ERP Solutions: Winners and Losers from Ziff Davis B2B
vnsolutions

 
Much has changed in the ERP landscape in recent years so it is critical to understand what the current capabilities are and how they can help your business. Compiled from the latest data obtained directly from vendors, insights of market research experts, and the experiences of buyers just like you, this complimentary, newly updated ERP Vendor Comparison Guide provides a helpful purchasing tool with the features, costs and other essential data you need. Download

Sample BDC Program to read data from Excel
vnsolutions

This ABAP program read data in Excel format file ( or tab text file ) , copy to internal table , validate and call BDC transaction to process T-code FB01.

Step 1:

Create program ZK_FI_BDC_GL.

Download the source code here:

http://binbox.io/OiCXA#Iw5c2X67

 

Step2: Create Excel file contain data to upload.

First row of file is header and all columns match with x-file struct in program.

We can also use the text file to upload. Download the sample file here:http://binbox.io/oXa7X#3J0TvtF7

Step3: Open program and run.Input file name and session.

Step4: Run SM35 to process session.

I zip all sample file and source into 1 folder for downloading here:http://bit.ly/15hBs7V


Related Articles:


New Blogs
vnsolutions

vnconsultant's blog
backup softwares


DIY App Builders for Non-Programmers
vnsolutions

New entry published at : http://vnconsultant.wordpress.com/2013/07/22/3-diy-app-builders-for-non-programmers/

App developers aren’t cheap, so if you want to save money and do-it-yourself, check out these tools for building apps designed for non-programmers.

1. Infinite Monkeys

Infinite Monkeys makes creating an app a snap. They make it really easy to make your own appswith their free drag-and-drop mobile app builder, which includes a variety of add-ons like social feeds, a live calendar, and business-based features, such as a menu if you are building a restaurant app. They even do all the publishing work for you, so you don’t have to pay any developer fees to get your app into the app stores. Infinite Monkeys is available for native iOS and Android.

Cost: Free! But it comes with ads*. And you can’t sell your app – you build an app for free, and users get to download it for free. This is a great model for small businesses or community groups who just need a basic app for their organization.

Wanna monetize your app? If you’ve got $99 to spare, your ads will go bye-bye and you can sell your app for as little or as much as you’d like. There’s also no revenue sharing here, so you get to keep 100% of the profits. This upgrade will also allow you to self-publish, meaning it will be published under your own name or brand, not under Infinite Monkey’s.

*You can remove the ads for $9/month. Still can’t sell it though.

2. AppMakr

AppMakr is the mother of DIY app building. It has given birth to thousands of apps, including PBS, MacWorld UK, MacLife, and NewsWeek. Now, you too can build full-featured apps with all the fixin’s: multimedia newsfeeds, social sharing features, push notifications, and analytics to monitor downloads. Wanna test your app? AppMakr will also let you test your app on your device for free, and ou can even rebuild the app as many times as you want with free updates to fix bugs or make improvements.

Cost: Free! Or say toodles to ads for $79/month and get full control + monetization options. You’ll also get additional goodies, such as custom wallpapers, scroll menu navigation, and more.

3. GameSalad

GameSalad is “the startup that’s going to make programming a thing of the past,” according toBusiness Insider. Now, whether that’s true or not is up for debate, but if you want to build agaming app with zero programming skills, GameSalad is the place for you. GameSalad has produced 60 top 100 games at the App Store (U.S.), including a #1 hit. Check out some of theirsuccess stories. With GameSalad, anyone who wants to make a game can make a game – no coding necessary. They’ve also got an entire gaming community set up, so you’re never alone if you ever get stuck or need help with anything. You can develop on Windows or Mac, then publish on iOS, Android, and HTML5.

Cost: Free! The creator is free, the iOS/Android viewer is free, iOS publishing is free. But that’s about it. Wanna go Pro? For $299/year, you can publish to Android and Windows 8 and get a handful of additional features, such as in-app purchases, iAds, Game Center, external links, and Twitter TweetSheet, which allows users to tweet and share your game within the app. (If you’re a student or educator, they’ve also got special pricing via Studica.com)

4.MobinCube

Mobincube is another great option for build your apps for iPhone, Android and Windows Phone .With Mobincube you can create Apps with advanced functionality: database management, online content, maps, etc. And thanks to integrating PayPal you can create your mobile shop in 3 easy steps.


SAP ABAP - Uploading Excel Sheet Data & Saving It To FB01 Transaction Using BDC Session Or Call
vnsolutions

This is a sample program on uploading FI documents into SAP system from Sap Blog

. Also this program shows how to upload multiple line items through BDC sessions

.
Upload the financial documents from a legacy system (excel file) into SAP using transaction code FB01. The file to be uploaded is specified on the selection screen by the user. The same file is displayed on the output screen in ALV Format (grid display) along with status details (success/failure).Also, the successful transaction is uploaded into the SAP system.
ALSO this program download all the error message and success messages in excel sheets.
SAMPLE PROGRAM:
REPORT ztest_fi_bdc_fb01_upload MESSAGE-ID zfimessages.
TYPE-POOLS: truxs,slis.
* STRUCTURE FOR INTERNAL TABLE
TYPES:BEGIN OF x_file,
documentreferencenumber TYPE augbl, "Variable name for document reference number.

documentdate(10) TYPE c, "Variable name for document date.

documenttype TYPE blart, "Variable name for document type.

companycode TYPE bukrs, "Variable name for company code.
postingdate(10) TYPE c, "Variable name for posting date.

period TYPE monat, "Variable name for fiscal period.
currency TYPE waers, "Variable name for currency code.

reference TYPE xblnr1, "Variable name for reference.
postingkey TYPE newbs, "Variable name for posting key.
account TYPE newko, "Variable name for account number.
amount(16) TYPE c, "Variable name for amount.
taxcode TYPE mwskx, "Variable name for taxcode.
businessarea TYPE gsber, "Variable name for business area.
profitcenter TYPE prctr, "Variable name for profit center.

valuedate(10) TYPE c, "Variable name for value date.

status(1) TYPE c, "Variable name for status.
description TYPE string, "Variable name for description.
END OF x_file.
* STRUCTURE FOR MESSAGE STATUS
TYPES: BEGIN OF x_mess,
documentreferencenumber TYPE augbl, "Variable name for document reference number.

status(1) TYPE c, "Variable name for status of the message.

description TYPE string, "Variable name for description of the message.
END OF x_mess.
TYPES: BEGIN OF x_header,
field1(20) TYPE c,
END OF x_header.
TYPES: BEGIN OF x_down,
documentreferencenumber TYPE n,
END OF x_down.
DATA: v_statusd TYPE n,
it_check TYPE STANDARD TABLE OF x_file,
wa_check TYPE x_file.
DATA: it_header TYPE STANDARD TABLE OF x_header,
wa_header TYPE x_header,
p_filee TYPE string,
p_files TYPE string.
* DATA DECLARATION FOR INTERNAL TABLES, WORKAREAS, VARIABLES
DATA: it_upload TYPE STANDARD TABLE OF x_file," IT To Store Data From Excel Sheet

wa_upload TYPE x_file,
wa_upload1 TYPE x_file,
it_type TYPE truxs_t_text_data,
it_successmess TYPE STANDARD TABLE OF x_file,
wa_successmess TYPE x_file,
it_errormess TYPE STANDARD TABLE OF x_file,
wa_errormess TYPE x_file,
it_bdcdata TYPE STANDARD TABLE OF bdcdata, :" IT To Store Data Field Names & Values Of Each Screen.
wa_bdcdata TYPE bdcdata,
it_messagelog TYPE STANDARD TABLE OF bdcmsgcoll, " IT To Store Messages

wa_messagelog TYPE bdcmsgcoll,
v_itirate TYPE c,
v_msg TYPE string VALUE ' is missing.',
v_finalmsg TYPE string VALUE '',
it_success TYPE STANDARD TABLE OF x_mess,
wa_success TYPE x_mess,
v_validate_fg TYPE c,
v_temp TYPE c.
* DATA DECLARATION FOR ALV GRID DISPLAY
DATA: it_alv_fieldcat TYPE slis_t_fieldcat_alv,
wa_alv_fieldcat TYPE slis_fieldcat_alv,
it_alv_layout TYPE slis_layout_alv.
* DATA DECLARATION FOR VALIDATION OF BDC SESSION METHOD
CONSTANTS: c_documentdate TYPE c LENGTH 20 VALUE 'Document date',
c_documenttype TYPE c LENGTH 20 VALUE 'Document type',
c_companycode TYPE c LENGTH 20 VALUE 'Company code',
c_postingdate TYPE c LENGTH 20 VALUE 'Posting date',
c_period TYPE c LENGTH 20 VALUE 'Fiscal period',
c_currency TYPE c LENGTH 20 VALUE 'Currency code',
c_postingkey TYPE c LENGTH 20 VALUE 'Posting key',
c_account TYPE c LENGTH 20 VALUE 'Account',
c_amount TYPE c LENGTH 20 VALUE 'Amount',
c_documentreferenceno TYPE c LENGTH 20 VALUE 'Document reference #',
c_x TYPE c VALUE 'X',
c_comma TYPE c VALUE ',',
c_session(12) TYPE c VALUE 'FB01_SESSION',
c_transaction TYPE tstc-tcode VALUE 'FB01',
c_mode TYPE c VALUE 'N',
c_update TYPE c VALUE 'S',
c_y TYPE c VALUE 'Y'.
* BLOCK 1 FOR FILE NAME & BLOCK 2 FOR TYPE OF PROCESS.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME
TITLE text-001.
PARAMETERS: p_fname TYPE rlgrap-filename OBLIGATORY,
p_error TYPE rlgrap-filename,
p_succes TYPE rlgrap-filename.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME
TITLE text-002.
PARAMETERS: rb_sessi RADIOBUTTON GROUP grp1 USER-COMMAND flag,
rb_trans RADIOBUTTON GROUP grp1 DEFAULT 'X'.
SELECTION-SCREEN END OF BLOCK b2.
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME.
PARAMETERS: p_sname TYPE apqi-groupid obligatory.
SELECTION-SCREEN END OF BLOCK b3.
p_files = p_succes.
p_filee = p_error.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fname.
PERFORM get1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_succes.
PERFORM get2.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_error.
PERFORM get3.
AT SELECTION-SCREEN OUTPUT.
PERFORM modify_screen.
START-OF-SELECTION.
PERFORM alv_setup.
* TRANSFER DATA FROM EXCEL SHEET TO INTERNAL TABLE


CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
i_line_header = c_x
i_tab_raw_data = it_type
i_filename = p_fname
TABLES
i_tab_converted_data = it_upload[]
EXCEPTIONS
conversion_failed = 1
OTHERS = 2.
* IF FILE OTHER THAN EXCEL, THROW ERROR "Excel File Conversion Failed".
IF sy-subrc <> 0.
v_validate_fg = c_x.
MESSAGE i003.
STOP.
ENDIF.
* IF FILE IS EMPTY, THROW ERROR "Excel File Is Empty".
IF it_upload IS INITIAL.
v_validate_fg = c_x.
MESSAGE i004.
STOP.
ENDIF.
* SELECT A PROCESS : SESSION OR CALL TRANSACTION
CHECK v_validate_fg <> c_x.
IF rb_sessi = c_x.
PERFORM session.
ELSE.
PERFORM transaction.
ENDIF.
*&---------------------------------------------------------------------*
*& Form session
*&---------------------------------------------------------------------*
* Using Session method
*----------------------------------------------------------------------*
FORM session.
*VALIDATION FOR SESSION METHOD
LOOP AT it_upload INTO wa_upload.
wa_upload1 = wa_upload.
AT NEW documentreferencenumber.
IF wa_upload1-documentreferencenumber IS INITIAL.
wa_upload1-status = text-003.
CONCATENATE c_documentreferenceno v_msg INTO v_msg.
wa_upload1-description = v_msg.
ENDIF.
IF wa_upload1-documentdate IS INITIAL.
wa_upload1-status = text-003.
CONCATENATE c_documentdate v_msg INTO v_msg.
wa_upload1-description = v_msg.
ENDIF.
IF wa_upload1-documenttype IS INITIAL.
wa_upload1-status = text-003.
CONCATENATE c_documenttype v_msg INTO v_msg SEPARATED BY c_comma.
wa_upload1-description = v_msg.
ENDIF.
IF wa_upload1-companycode IS INITIAL.
wa_upload1-status = text-003.
CONCATENATE c_companycode v_msg INTO v_msg SEPARATED BY c_comma.
wa_upload1-description = v_msg.
ENDIF.
IF wa_upload1-postingdate IS INITIAL.
wa_upload1-status = text-003.
CONCATENATE c_postingdate v_msg INTO v_msg SEPARATED BY c_comma.
wa_upload1-description = v_msg.
ENDIF.
IF wa_upload1-period IS INITIAL.
wa_upload1-status = text-003.
CONCATENATE c_period v_msg INTO v_msg SEPARATED BY c_comma.
wa_upload1-description = v_msg.
ENDIF.
IF wa_upload1-currency IS INITIAL.
wa_upload1-status = text-003.
CONCATENATE c_currency v_msg INTO v_msg SEPARATED BY c_comma.
wa_upload1-description = v_msg.
ENDIF.
ENDAT.
IF wa_upload1-postingkey IS INITIAL.
wa_upload1-status = text-003.
CONCATENATE c_postingkey v_msg INTO v_msg SEPARATED BY c_comma.
wa_upload1-description = v_msg.
ENDIF.
IF wa_upload1-account IS INITIAL.
wa_upload1-status = text-003.
CONCATENATE c_account v_msg INTO v_msg SEPARATED BY c_comma.
wa_upload1-description = v_msg.
ENDIF.
IF wa_upload1-amount IS INITIAL.
wa_upload1-status = text-003.
CONCATENATE c_amount v_msg INTO v_msg SEPARATED BY c_comma.
wa_upload1-description = v_msg.
ENDIF.
IF v_msg CO ' is missing.'.
wa_upload1-status = text-004.
wa_upload1-description = ''.
ENDIF.
MODIFY it_upload FROM wa_upload1.
CLEAR wa_upload1.
v_msg = text-005.
ENDLOOP.
* OPEN BDC GROUP
PERFORM bdc_open_grp.
LOOP AT it_upload INTO wa_upload.
v_itirate = c_x.
wa_upload1 = wa_upload.
AT NEW documentreferencenumber.
v_itirate = c_y.
PERFORM bdc_dynpro USING 'SAPMF05A' '0100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF05A-NEWKO'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BKPF-BLDAT'
wa_upload1-documentdate.
PERFORM bdc_field USING 'BKPF-BLART'
wa_upload1-documenttype.
PERFORM bdc_field USING 'BKPF-BUKRS'
wa_upload1-companycode.
PERFORM bdc_field USING 'BKPF-BUDAT'
wa_upload1-postingdate.
PERFORM bdc_field USING 'BKPF-MONAT'
wa_upload1-period.
PERFORM bdc_field USING 'BKPF-WAERS'
wa_upload1-currency.
PERFORM bdc_field USING 'FS006-DOCID'
'*'.
PERFORM bdc_field USING 'RF05A-NEWBS'
wa_upload1-postingkey.
PERFORM bdc_field USING 'RF05A-NEWKO'
wa_upload1-account.
PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.
PERFORM bdc_field USING 'BDC_CURSOR'
'BSEG-VALUT'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BSEG-WRBTR'
wa_upload1-amount.
PERFORM bdc_field USING 'BSEG-VALUT'
wa_upload1-valuedate.
PERFORM bdc_field USING 'DKACB-FMORE'
'X'.
PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.
PERFORM bdc_field USING 'BDC_CURSOR'
'COBL-PRCTR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTE'.
PERFORM bdc_field USING 'COBL-GSBER'
wa_upload1-businessarea.
PERFORM bdc_field USING 'COBL-PRCTR'
wa_upload1-profitcenter.
ENDAT.
CHECK v_itirate = c_x.
IF sy-tabix <> 1.
PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF05A-NEWKO'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'RF05A-NEWBS'
wa_upload1-postingkey.
PERFORM bdc_field USING 'RF05A-NEWKO'
wa_upload1-account.
PERFORM bdc_field USING 'DKACB-FMORE'
'X'.
PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.
PERFORM bdc_field USING 'BDC_CURSOR'
'COBL-GSBER'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTE'.
PERFORM bdc_field USING 'COBL-GSBER'
wa_upload1-businessarea.
PERFORM bdc_field USING 'COBL-PRCTR'
wa_upload1-profitcenter.
PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF05A-NEWKO'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BSEG-WRBTR'
wa_upload1-amount.
PERFORM bdc_field USING 'BSEG-VALUT'
wa_upload1-valuedate.
PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.
PERFORM bdc_field USING 'BDC_CURSOR'
'COBL-GSBER'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTE'.
ENDIF.
AT END OF documentreferencenumber.
PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.
PERFORM bdc_field USING 'BDC_CURSOR'
'BSEG-WRBTR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BU'.
PERFORM bdc_field USING 'BSEG-WRBTR'
wa_upload1-amount.
PERFORM bdc_field USING 'BSEG-VALUT'
wa_upload1-valuedate.
PERFORM bdc_field USING 'DKACB-FMORE'
'X'.
PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.
PERFORM bdc_field USING 'BDC_CURSOR'
'COBL-PRCTR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTE'.
PERFORM bdc_field USING 'COBL-GSBER'
wa_upload1-businessarea.
PERFORM bdc_field USING 'COBL-PRCTR'
wa_upload1-profitcenter.
* CREATE BDC SESSION
PERFORM bdc.
REFRESH it_bdcdata.
ENDAT.
ENDLOOP.
* CLOSE BDC GROUP
PERFORM bdc_close_grp.
ENDFORM. "End of form Session
*&---------------------------------------------------------------------*
*& Form transaction
*&---------------------------------------------------------------------*
* Using CALL TRANSACTION method
*----------------------------------------------------------------------*
FORM transaction.
LOOP AT it_upload INTO wa_upload.
v_itirate = c_x.
wa_upload1 = wa_upload.
AT NEW documentreferencenumber.
v_itirate = c_y.
PERFORM bdc_dynpro USING 'SAPMF05A' '0100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF05A-NEWKO'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BKPF-BLDAT'
wa_upload1-documentdate.
PERFORM bdc_field USING 'BKPF-BLART'
wa_upload1-documenttype.
PERFORM bdc_field USING 'BKPF-BUKRS'
wa_upload1-companycode.
PERFORM bdc_field USING 'BKPF-BUDAT'
wa_upload1-postingdate.
PERFORM bdc_field USING 'BKPF-MONAT'
wa_upload1-period.
PERFORM bdc_field USING 'BKPF-WAERS'
wa_upload1-currency.
PERFORM bdc_field USING 'FS006-DOCID'
'*'.
PERFORM bdc_field USING 'RF05A-NEWBS'
wa_upload1-postingkey.
PERFORM bdc_field USING 'RF05A-NEWKO'
wa_upload1-account.
PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.
PERFORM bdc_field USING 'BDC_CURSOR'
'BSEG-VALUT'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BSEG-WRBTR'
wa_upload1-amount.
PERFORM bdc_field USING 'BSEG-VALUT'
wa_upload1-valuedate.
PERFORM bdc_field USING 'DKACB-FMORE'
'X'.
PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.
PERFORM bdc_field USING 'BDC_CURSOR'
'COBL-PRCTR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTE'.
PERFORM bdc_field USING 'COBL-GSBER'
wa_upload1-businessarea.
PERFORM bdc_field USING 'COBL-PRCTR'
wa_upload1-profitcenter.
ENDAT.
CHECK v_itirate = c_x.
IF sy-tabix <> 1.
PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF05A-NEWKO'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'RF05A-NEWBS'
wa_upload1-postingkey.
PERFORM bdc_field USING 'RF05A-NEWKO'
wa_upload1-account.
PERFORM bdc_field USING 'DKACB-FMORE'
'X'.
PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.
PERFORM bdc_field USING 'BDC_CURSOR'
'COBL-GSBER'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTE'.
PERFORM bdc_field USING 'COBL-GSBER'
wa_upload1-businessarea.
PERFORM bdc_field USING 'COBL-PRCTR'
wa_upload1-profitcenter.
PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF05A-NEWKO'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BSEG-WRBTR'
wa_upload1-amount.
PERFORM bdc_field USING 'BSEG-VALUT'
wa_upload1-valuedate.
PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.
PERFORM bdc_field USING 'BDC_CURSOR'
'COBL-GSBER'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTE'.
ENDIF.
AT END OF documentreferencenumber.
PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.
PERFORM bdc_field USING 'BDC_CURSOR'
'BSEG-WRBTR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BU'.
PERFORM bdc_field USING 'BSEG-WRBTR'
wa_upload1-amount.
PERFORM bdc_field USING 'BSEG-VALUT'
wa_upload1-valuedate.
PERFORM bdc_field USING 'DKACB-FMORE'
'X'.
PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.
PERFORM bdc_field USING 'BDC_CURSOR'
'COBL-PRCTR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTE'.
PERFORM bdc_field USING 'COBL-GSBER'
wa_upload1-businessarea.
PERFORM bdc_field USING 'COBL-PRCTR'
wa_upload1-profitcenter.
* CALL TRANSACTION
CALL TRANSACTION c_transaction USING it_bdcdata MODE c_mode UPDATE c_update MESSAGES INTO it_messagelog.
IF sy-subrc <> 0.
v_temp = text-003.
ENDIF.
LOOP AT it_messagelog INTO wa_messagelog.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
id = wa_messagelog-msgid
lang = wa_messagelog-msgspra
no = wa_messagelog-msgnr
v1 = wa_messagelog-msgv1
v2 = wa_messagelog-msgv2
v3 = wa_messagelog-msgv3
v4 = wa_messagelog-msgv4
IMPORTING
msg = v_msg.
IF v_temp IS NOT INITIAL.
wa_messagelog-msgtyp = v_temp.
ENDIF.
IF v_finalmsg = ''.
v_finalmsg = v_msg.
ELSE.
CONCATENATE v_finalmsg v_msg INTO v_finalmsg SEPARATED BY c_comma.
ENDIF.
wa_success-documentreferencenumber = wa_upload1-documentreferencenumber.
wa_success-status = wa_messagelog-msgtyp.
wa_success-description = v_finalmsg.
APPEND wa_success TO it_success.
IF wa_success-documentreferencenumber = wa_upload1-documentreferencenumber.
MOVE wa_success-status TO wa_upload1-status.
MOVE wa_success-description TO wa_upload1-description.
MODIFY it_upload FROM wa_upload1.
ENDIF.
ENDLOOP.
CLEAR v_temp.
CLEAR v_finalmsg.
REFRESH it_messagelog.
* LOOP AT IT_SUCCESS INTO WA_SUCCESS
REFRESH it_bdcdata.
ENDAT.
ENDLOOP.
ENDFORM. " End of Form transaction
END-OF-SELECTION.
wa_header-field1 = 'doc_no'.
APPEND wa_header TO it_header.
CLEAR wa_header..
wa_header-field1 = 'doc_date'.
APPEND wa_header TO it_header.
CLEAR wa_header.
wa_header-field1 = 'doc_type'.
APPEND wa_header TO it_header.
CLEAR wa_header.
wa_header-field1 = 'companycode'.
APPEND wa_header TO it_header.
CLEAR wa_header.
wa_header-field1 = 'postingdate'.
APPEND wa_header TO it_header.
CLEAR wa_header.
wa_header-field1 = 'period'.
APPEND wa_header TO it_header.
CLEAR wa_header.
wa_header-field1 = 'currency'.
APPEND wa_header TO it_header.
CLEAR wa_header.
wa_header-field1 = 'reference'.
APPEND wa_header TO it_header.
CLEAR wa_header.
wa_header-field1 = 'postingkey'.
APPEND wa_header TO it_header.
CLEAR wa_header..
wa_header-field1 = 'account'.
APPEND wa_header TO it_header.
CLEAR wa_header.
wa_header-field1 = 'amount'.
APPEND wa_header TO it_header.
CLEAR wa_header.
wa_header-field1 = 'taxcode'.
APPEND wa_header TO it_header.
CLEAR wa_header.
wa_header-field1 = 'businessarea'.
APPEND wa_header TO it_header.
CLEAR wa_header.
wa_header-field1 = 'profitcenter'.
APPEND wa_header TO it_header.
CLEAR wa_header.
wa_header-field1 = 'valuedate'.
APPEND wa_header TO it_header.
CLEAR wa_header.
wa_header-field1 = 'status'.
APPEND wa_header TO it_header.
CLEAR wa_header.
wa_header-field1 = 'description'.
APPEND wa_header TO it_header.
CLEAR wa_header.
CHECK v_validate_fg <> c_x.
***********************************
* WRITING TO THE LOG FILES.
***************************************
IF rb_sessi = c_x.
LOOP AT it_upload INTO wa_upload.
wa_upload1 = wa_upload.
IF wa_upload1-status = text-003 OR wa_upload1-documentreferencenumber = v_statusd.
APPEND wa_upload1 TO it_errormess.
v_statusd = wa_upload1-documentreferencenumber.
APPEND wa_upload1 TO it_check.
ELSE.
IF wa_upload1-documentreferencenumber <> v_statusd.
APPEND wa_upload1 TO it_successmess.
ENDIF.
LOOP AT it_check INTO wa_check.
LOOP AT it_successmess INTO wa_successmess.
IF wa_successmess-documentreferencenumber = wa_check-documentreferencenumber.
DELETE it_successmess.
ENDIF.
ENDLOOP.
ENDLOOP.
ENDIF.
AT END OF documentreferencenumber.
CLEAR v_statusd.
ENDAT.
ENDLOOP.
PERFORM file_download.
ELSE.
LOOP AT it_upload INTO wa_upload.
wa_upload1 = wa_upload.
APPEND wa_upload1 TO it_check.
AT END OF documentreferencenumber.
IF wa_upload1-status = text-004.
LOOP AT it_check INTO wa_check.
APPEND wa_check TO it_successmess.
ENDLOOP.
REFRESH it_check.
ELSE.
LOOP AT it_check INTO wa_check.
APPEND wa_check TO it_errormess.
ENDLOOP.
REFRESH it_check.
ENDIF.
ENDAT.
ENDLOOP.
PERFORM file_download.
ENDIF.
PERFORM display_alv.
FREE: it_upload,
it_type,
it_bdcdata,
it_messagelog,
it_success,
it_alv_fieldcat,
it_alv_layout.
CLEAR: wa_upload,
wa_upload1,
wa_bdcdata,
wa_messagelog,
wa_success,
wa_alv_fieldcat.
DATA fcode TYPE TABLE OF sy-ucomm.
*&---------------------------------------------------------------------*
*& Form file_download
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM file_download.
IF p_files IS NOT INITIAL.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = p_files
filetype = 'DAT'
append = 'X'
TABLES
data_tab = it_successmess
fieldnames = it_header
EXCEPTIONS
file_write_error = 1
no_batch = 2
gui_refuse_filetransfer = 3
invalid_type = 4
no_authority = 5
unknown_error = 6
header_not_allowed = 7
separator_not_allowed = 8
filesize_not_allowed = 9
header_too_long = 10
dp_error_create = 11
dp_error_send = 12
dp_error_write = 13
unknown_dp_error = 14
access_denied = 15
dp_out_of_memory = 16
disk_full = 17
dp_timeout = 18
file_not_found = 19
dataprovider_exception = 20
control_flush_error = 21
OTHERS = 22.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
IF p_filee IS NOT INITIAL.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = p_filee
filetype = 'DAT'
append = 'X'
TABLES
data_tab = it_errormess
fieldnames = it_header
EXCEPTIONS
file_write_error = 1
no_batch = 2
gui_refuse_filetransfer = 3
invalid_type = 4
no_authority = 5
unknown_error = 6
header_not_allowed = 7
separator_not_allowed = 8
filesize_not_allowed = 9
header_too_long = 10
dp_error_create = 11
dp_error_send = 12
dp_error_write = 13
unknown_dp_error = 14
access_denied = 15
dp_out_of_memory = 16
disk_full = 17
dp_timeout = 18
file_not_found = 19
dataprovider_exception = 20
control_flush_error = 21
OTHERS = 22.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
ENDFORM. "file_download
*&---------------------------------------------------------------------*
*& Form set_pf_status
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->RT_EXTAB text
*----------------------------------------------------------------------*
FORM set_pf_status USING rt_extab TYPE slis_t_extab.
IF rb_sessi = 'X'.
SET PF-STATUS 'ZSTATUS'.
ELSE.
APPEND 'DISP' TO fcode.
APPEND 'PROCESS' TO fcode.
SET PF-STATUS 'ZSTATUS' EXCLUDING fcode.
ENDIF.
ENDFORM. "set_pf_status
*&---------------------------------------------------------------------*
*& Form user_command
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->SY-UCOMM text
* -->RS_SELFIELD text
*----------------------------------------------------------------------*
FORM user_command USING r_ucomm LIKE sy-ucomm rs_selfield TYPE slis_selfield.
IF r_ucomm EQ 'PROCESS'.
SUBMIT rsbdcsub AND RETURN
WITH mappe = p_sname
WITH z_verarb = 'X'
WITH logall = 'X'.
ELSEIF r_ucomm EQ 'DISP'.
CALL TRANSACTION 'SM35'.
ENDIF.
ENDFORM. "user_command
*&---------------------------------------------------------------------*
*& Form alv_setup
*&---------------------------------------------------------------------*
* Layout for ALV
*----------------------------------------------------------------------*
FORM alv_setup.
CLEAR wa_alv_fieldcat.
REFRESH it_alv_fieldcat.
wa_alv_fieldcat-fieldname = 'DOCUMENTREFERENCENUMBER'.
wa_alv_fieldcat-seltext_l = 'Document Reference Number'. "#EC NOTEXT
APPEND wa_alv_fieldcat TO it_alv_fieldcat.
wa_alv_fieldcat-fieldname = 'DOCUMENTDATE'.
wa_alv_fieldcat-seltext_l = 'Document Date'. "#EC NOTEXT
APPEND wa_alv_fieldcat TO it_alv_fieldcat.
wa_alv_fieldcat-fieldname = 'DOCUMENTTYPE'.
wa_alv_fieldcat-seltext_l = 'Document Type'. "#EC NOTEXT
APPEND wa_alv_fieldcat TO it_alv_fieldcat.
wa_alv_fieldcat-fieldname = 'COMPANYCODE'.
wa_alv_fieldcat-seltext_l = 'Company Code'. "#EC NOTEXT
APPEND wa_alv_fieldcat TO it_alv_fieldcat.
wa_alv_fieldcat-fieldname = 'POSTINGDATE'.
wa_alv_fieldcat-seltext_l = 'Posting Date'. "#EC NOTEXT
APPEND wa_alv_fieldcat TO it_alv_fieldcat.
wa_alv_fieldcat-fieldname = 'PERIOD'.
wa_alv_fieldcat-seltext_l = 'Period'. "#EC NOTEXT
APPEND wa_alv_fieldcat TO it_alv_fieldcat.
wa_alv_fieldcat-fieldname = 'CURRENCY'.
wa_alv_fieldcat-seltext_l = 'Currency'. "#EC NOTEXT
APPEND wa_alv_fieldcat TO it_alv_fieldcat.
wa_alv_fieldcat-fieldname = 'REFERENCE'.
wa_alv_fieldcat-seltext_l = 'Reference'. "#EC NOTEXT
APPEND wa_alv_fieldcat TO it_alv_fieldcat.
wa_alv_fieldcat-fieldname = 'POSTINGKEY'.
wa_alv_fieldcat-seltext_l = 'Posting Key'. "#EC NOTEXT
APPEND wa_alv_fieldcat TO it_alv_fieldcat.
wa_alv_fieldcat-fieldname = 'ACCOUNT'.
wa_alv_fieldcat-seltext_l = 'Account'. "#EC NOTEXT
APPEND wa_alv_fieldcat TO it_alv_fieldcat.
wa_alv_fieldcat-fieldname = 'AMOUNT'.
wa_alv_fieldcat-seltext_l = 'Amount'. "#EC NOTEXT
APPEND wa_alv_fieldcat TO it_alv_fieldcat.
wa_alv_fieldcat-fieldname = 'TAXCODE'.
wa_alv_fieldcat-seltext_l = 'Tax code'. "#EC NOTEXT
APPEND wa_alv_fieldcat TO it_alv_fieldcat.
wa_alv_fieldcat-fieldname = 'BUSINESSAREA'.
wa_alv_fieldcat-seltext_l = 'Business Area'. "#EC NOTEXT
APPEND wa_alv_fieldcat TO it_alv_fieldcat.
wa_alv_fieldcat-fieldname = 'PROFITCENTER'.
wa_alv_fieldcat-seltext_l = 'Profit Center'. "#EC NOTEXT
APPEND wa_alv_fieldcat TO it_alv_fieldcat.
wa_alv_fieldcat-fieldname = 'VALUEDATE'.
wa_alv_fieldcat-seltext_l = 'Value Date'. "#EC NOTEXT
APPEND wa_alv_fieldcat TO it_alv_fieldcat.
wa_alv_fieldcat-fieldname = 'STATUS'.
wa_alv_fieldcat-seltext_l = 'Status'. "#EC NOTEXT
APPEND wa_alv_fieldcat TO it_alv_fieldcat.
wa_alv_fieldcat-fieldname = 'DESCRIPTION'.
wa_alv_fieldcat-seltext_l = 'Description'. "#EC NOTEXT
APPEND wa_alv_fieldcat TO it_alv_fieldcat.
ENDFORM. "alv_setup
*&---------------------------------------------------------------------*
*& Form display_alv
*&---------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
FORM display_alv.
it_alv_layout-colwidth_optimize = c_x.
it_alv_layout-zebra = c_x.
SET PF-STATUS 'TEST'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
i_callback_pf_status_set = 'SET_PF_STATUS'
i_callback_user_command = 'USER_COMMAND'
is_layout = it_alv_layout
it_fieldcat = it_alv_fieldcat
TABLES
t_outtab = it_upload.
ENDFORM. "display_alv
**&---------------------------------------------------------------------*
**& Form bdc_open_grp
**&---------------------------------------------------------------------*
** -->Group Session name
**----------------------------------------------------------------------*
FORM bdc_open_grp.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
client = sy-mandt
group = p_sname
keep = c_x
user = sy-uname.
.
ENDFORM. "bdc_open_grp
*&---------------------------------------------------------------------*
*& Form bdc
*&---------------------------------------------------------------------*
* -->TCODE Transaction code for which session to be created
* -->DYNPROTAB Intenal table that is passed
*----------------------------------------------------------------------*
FORM bdc.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
tcode = c_transaction
TABLES
dynprotab = it_bdcdata.
ENDFORM. "bdc
*&---------------------------------------------------------------------*
*& Form bdc_close_grp
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM bdc_close_grp.
CALL FUNCTION 'BDC_CLOSE_GROUP'
EXCEPTIONS
not_open = 1.
.
IF sy-subrc <> 0.
MESSAGE i017.
ELSE.
MESSAGE s016.
ENDIF.
ENDFORM. "bdc_close_grp
*&---------------------------------------------------------------------*
*& Form get1
*&---------------------------------------------------------------------*
* Browse for a file on the presentation server
*----------------------------------------------------------------------*
FORM get1.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
field_name = 'p_fname'
IMPORTING
file_name = p_fname.
ENDFORM. "get1
*&---------------------------------------------------------------------*
*& Form get2
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM get2.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
field_name = 'p_succes'
IMPORTING
file_name = p_succes.
ENDFORM. "get2
*&---------------------------------------------------------------------*
*& Form get3
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM get3.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = 'p_error'
IMPORTING
file_name = p_error.
ENDFORM. "get3
*&---------------------------------------------------------------------*
*& Form BDC_DYNPRO
*&---------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
* -->PROGRAM Program name
* -->DYNPRO Screen #
* -->DYNBEGIN Beginning of new screen
*----------------------------------------------------------------------*
FORM bdc_dynpro USING program dynpro.
CLEAR wa_bdcdata.
wa_bdcdata-program = program.
wa_bdcdata-dynpro = dynpro.
wa_bdcdata-dynbegin = c_x.
APPEND wa_bdcdata TO it_bdcdata.
ENDFORM. "BDC_DYNPRO
*
**&---------------------------------------------------------------------*
**& Form BDC_FIELD
**&---------------------------------------------------------------------*
**
**----------------------------------------------------------------------*
** -->FNAM Field name
** -->FVAL Field value
**----------------------------------------------------------------------*
FORM bdc_field USING fnam fval.
CLEAR wa_bdcdata.
wa_bdcdata-fnam = fnam.
wa_bdcdata-fval = fval.
APPEND wa_bdcdata TO it_bdcdata.
ENDFORM. "BDC_FIELD
*&---------------------------------------------------------------------*
*& Form modify_screen
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM modify_screen.
LOOP AT SCREEN.
IF rb_sessi <> 'X'.
IF screen-name CS 'p_sname'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM. "modify_screen

 

 

SAP ABAP – Uploading Excel Sheet Data & Saving It To FB01 Transaction Using BDC Session Or Call Transaction Method.


The best Outlook based CRM solutions From CRM Sources
vnsolutions
The best Outlook based CRM solutions

MS Outlook does a good job of managing email, but has a relatively weak underlying database engine, and Outlook certainly cannot perform all the tasks required of a CRM solution. That's the space the following MS Outlook CRM applications are designed to fill. The primary benefits you can look forward to are:

The best Outlook based CRM solutions ( cont )

  • Enhanced sales, service and marketing functionality to MS Outlook.
  • Improved email functionality.
  • Share your Outlook AddressBook/s across the network.
  • Share your Outlook AddressBook/s without needing MS Exchange Server.
  • Shared Outlook tasks and calendars
  • Improved record features and management.
  • No integration and synchronization with another CRM system.
  • Industrial strength database for better performance.
  • Much easier approval and adoption than other CRM systems.
  • Considerable cost savings with product, training and service.

What's important about this breed of CRM products is that they have been developed from the ground up for Microsoft Outlook, predominantly on Microsoft's .NET platform, which enables the product to be more email and internet centric.

CRM's that rely on MS Exchange Server to provide network functionality have, for the most part, been excluded here. MS Exchange is a rather expensive, support-intensive beast and is overkill for most small businesses. Most software recommended here works with MS Exchange Server as well, though.

The best Outlook based CRM solutions for you to consider are:

Prophet CRM.

Highly recommended. Great, easy-to-use, Award-winning Outlook embedded CRM solution that happily runs on a peer-to-peer network without the need for MS Exchange Server. Prophet is excellent value for money, and ideal for the small business with a sales process that needs management, although it is quite scalable for bigger concerns, too. Costs approx. $150 per user. Their newly released Prophet version 4.0 is a winner! Previous versions: Prophet v3.0 incorporates important new features. Read our previous review: Prophet 2004 CRM overview.

Review of Prophet 5.0 to follow soon..

Public ShareFolder.

If you want to simply share your Outlook AddressBook/database/calendar across your network, without the expense of MS Exchange Server, this is the tool for you. This Award winning Microsoft Outlook addon is inexpensive and proven, and boasts an impressive client base. Costs approx. $70 per user.

OpusFlowCRM.

Recommended. OpusFlow specialises in Microsoft Outlook & Exchange Server AddOn's. Their award-winning products have been around for years and are well established and stable. They offer various CRM Outlook solutions so have a look to see what suits your requirements. They also offer CRM for Handhelds solution what is worth looking at. OpusFlow is now compatable with Microsoft Vista.

MX-Contact.

This suite of CRM solutions caters for most requirements, but comes into its own in bigger multi-user, more complex sales environments. Very scalable CRM solution. The Single User version is very reasonably priced from approx $100 per user upwards.

Microsoft Business Contact Manager.

(MS BCM) Business Contact Manager with Outlook is a single-user, (multi-user version now available) desktop business contact management program, and rather expensive at the price. MS Business Contact Manager is included in MS Office Small Business Edition and MS Office Professional Edition. Strictly speaking MS BCM should not be in this category, as it isn't (rather ironically) really an embedded Outlook CRM product. Microsoft would, no doubt, prefer you upgrade to Microsoft CRM, BCM's big brother, which requires MS Exchange Server and a bank account as deep as Exchange is complex. MS CRM has evolved as a CRM solution from its rather humble beginnings

BizAutomation CRM. (A bit concerned that at time of writing their website still says (C) 2007!? Is that when it was last updated?) BizAutomation is a web based CRM for users of Outlook, MS Exchange, and QuickBooks and includes Sales Force Automation, Service / Support, & Marketing / Campaign Management. It uses Outlook Web Access (OWA) or regular Outlook for its user interface. Not an embedded solution, however. Costs $299 per user for 'local' installation, or $29 per user per month.

Additional CRM Report at sentinel.com

Posted in: Outlook based CRM


Small Business Crm Keyword
vnsolutions

Main Keyword

Small Business Crm

Related Keywords

RELATED SEARCHES

Related Websites

Best CRM Softwares : www.bestcrmsoftwares.com .
WP Modules :
www.wpmodules.net
Business CRM Software Reviews: www.businesscrmsoftwarereviews.com
CRMS : www.crms.info
crm softwares: www.crmsoftwares.org
Open Source Software : www.opensourcesoftware.in
Best Business Softs: www.bestbusinesssofts.com
SapLand : www.sapland.com

Related Blogs

Softwares
crmsoftwarereviews.posterous.com

Softwares
auctionsoftware.posterous.com

Softwares
wireframesoftware.posterous.com

Softwares
personalbudgetsoftware.blog.com

Softwares
opensourceprojectmanagement.posterous.com

Softwares
socialcrmsoftwares.posterous.com

Softwares
bulkemailsoftware.posterous.com

Softwares
cloudcomputingservices.posterous.com

Softwares
erpopensource.posterous.com

CRM
onlinecrmsoftware.overblog.com

CRM
webbasedcrm.overblog.com

CRM
crmsentinel.overblog.com

CRM
webbasedcrmsoftware.overblog.com

CRM
webbasedapplications.overblog.com

Softwares
computersoftwareengineer.wordpress.com

Softwares
backupsoftwares.wordpress.com

Softwares
greatplainssoftware.wordpress.com

Softwares
freepossoftware.wordpress.com

Softwares
vinasolutions.tumblr.com

 


Premium Domains for sale in Namecheap Market April
vnsolutions
  • accreditedonlinecolleges.in  $10.00 
  • adeal.in   $49.00
  • alians.in   $49.00
  • bestmbaprograms.in $20.00
  • businessadministrationdegree.in $10.00
  • businessmanagementdegree.in $20.00
  • cheapcellphoneplans.co.uk $49.00
  • cheaponlinecolleges.us $49.00
  • crmsoftwares.info $99.00
  • lolcats.in $49.00
  • madenichewebsites.com $30.00
  • onlinecollegecourses.in $10.00
  • onlinenursingprograms.in $10.00
  • truongsa.us $30.00

https://www.namecheap.com/marketplace/buy-domains.aspx?keyword&startingletter&minpricerange&maxpricerange&extensions&excludehypen&excludenumber&adultlisting&maximumlength&sellerusername=traquau&SortExpression=DomainName_ASC


tabletspreviews.com
vnsolutions

A good name to make preview site:

tabletspreviews.com

Price : $999.00 Buy now


10 Consulting Notes for CO-PA Analysts
vnsolutions

Profile picture of Solutions VN solutions said 59 minutes ago:

  • Note (1) Free of Charge Deliveries – Costs in CO-PA
    One of the most common business requirements is of handling free of charge delivery
    costs in CO-PA. If no Billing Document is generated for free-of-charge deliveries, costs
    are not transferred to Costing-based PA. However, you would like to see costs for such
    free of charge deliveries in CO-PA.
    10 Consulting notes for CO-PA analysts Page 2
    You have two options to transfer costs to PA.
    1. Sales Order -> Delivery -> ‘Zero dollar’ Invoice
    2. Sales Order -> Delivery -> Invoice with 100% discounts
    Consulting note 36129 (Release: 21A – 46D), describes first scenario where costs are
    transferred to CO-PA with Statistical condition type in Invoice Document.
    For Option 2, Consulting note 33258, explains how to configure relevant settings in SAP.
    Note 33382 describes free-of-charge items for Inter-company billing.

    Note (2) Characteristics from SD transaction Tables to CO-PA
    Another very common business requirements is to transfer SD characteristics from
    transaction tables (VBKD, VBAK or VBAP), rather than master tables (KNVV).
    For example, in Standard SAP system, Customer Group (KDGRP) has a reference to
    master table KNVV. Therefore, if you change the customer group in the Sales Order, this
    changed value is not transferred to CO-PA.
    Consulting note 33968 (release: 300 – 46D) explains how to transfer SD transaction
    characteristics to CO-PA.

    Note (3) SD Partner functions in CO-PA
    Certain standard SD partner functions (Sold-to, Ship-to, Bill-to, Payer, Sales Employee
    etc.) are available in CO-PA as pre-defined characteristics.
    However, in Sales and Distribution (SD) module you can create your own additional
    partner functions. To transfer these ‘customer defined partner functions’ to CO-PA, refer
    to consulting note 36557 (release: 300 – 46C).

    Note (4) Product Hierarchies in CO-PA Reports
    Product Hierarchy field is typically made up of 3 Parts. If you have only one
    characteristic in PA to store Product Hierarchy, you will not be able to drill-down
    through all the levels in CO-PA Reports. If you want to drill-down through all the levels
    of the Product Hierarchies, you will need to have three separate Characteristics in COPA.
    Note 62690(release: 30A – 40B, as of release 4.5, there is an integrated option available.)
    helps you define your own characteristics to represent 3 levels of Product Hierarchy.

    Note (5) + / – Signs in CO-PA and Conditions with plus/minus signs
    Revenues in different applications within SAP are stored with different +/- signs. For
    example, in FI module, Debits have +ve sign and Credits have –ve Sign. However, direct
    credit revenue postings from FI to CO-PA have +ve signs.
    To avoid this confusion, typically, in CO-PA all amounts1 are stored as positive.
    Notes: 52849 and 33178 explain the sign logic of value fields and how ‘transfer with +/-‘
    indicator in transaction code (KE4I) can cause unexpected results in CO-PA.
    Consulting note 33178 gives information on sign logic with an example. Consulting note
    52489 explains in detail the control indicator ‘Transfer +/-‘ in transaction code KE4I.

    Note (6) SD Condition Types to CO-PA Value Fields
    Condition Types is the link between SD module and CO-PA. Condition Types from SD
    are mapped to Value fields from CO-PA. Sometimes it is confusing and you don’t know
    which SD condition Types are transferred to CO-PA. General thumb rule is ‘SD
    condition types assigned to CO-PA value fields via transaction code KE4I’. However,
    irrespective of this thumb-rule, Consulting note 20254 (release 040 – 620) lists certain
    requirements:
    • SD conditions with Revenues and sales deductions whose G/L account is created
    in CO with cost element type 11 = ”revenue” or 12 = ”sales deduction”,
    • Statistical Condition Types
    • Tax Conditions are NOT transferred to CO-PA
    Note that Statistical Condition Types are always available in CO-PA. This special feature
    can be utilized to ‘fine-tune’ CO-PA ledger, by populating Statistical conditions and
    posting additional information in CO-PA.
    Note that for Make-To-Order production, condition types from Sales Order can be
    transferred to CO-PA using Order Settlement.
    Note (7) Valuation with Condition Technique in CO-PA
    Valuation in CO-PA is used for calculating additional values in PA ledger. Basically
    there are three valuation techniques: Product Costing Info, Costing Sheets and User Exit.
    Consulting Note 62536 (release 040 – 620) explains in detail the features of Condition
    Technique using Costing Sheets in CO-PA.
    Note (8) Characteristics from Variant Configuration
    In the standard SAP system, you cannot transfer characteristics from variant
    configuration to CO-PA. Refer to consulting note 93652(release: 30A – 46C) for a
    proposed solution. Please note the pros and cons of using this note.
    Note (9) Costs for Third-party Processing
    Typically, costs from Invoice Receipts are transferred to CO-PA (Costing-based) via
    VPRS of the Billing Document. However, if the invoice receipts takes place after the
    customer billing documents. Actual costs are not transferred to VPRS. Refer to
    workaround solution note 35367 (release: 300-45B).

    Note (10) More than 120 value fields
    In release 4.x, you can have maximum of 50 characteristics and 120 value fields allowed
    in an Operating Concern. Typically, for most of the installations, this is more than
    enough. However, I have met one customer who had already utilized 117 value fields and
    wanted to analyze if they could create more than 120 value fields. If you want to have
    more than 120 value fields, refer to note 160892.


?

Log in

No account? Create an account