Material local & import
Dear Experts,
We are using two materials like product A local & product A import. Now requirement is that we have to make single product A for both local & import. For that we are activating split valuation. My question is what we have to do that old stock of local or import. Also kindly explain after activating split valuation in purchasing what are the steps to create purchase order and goods receipt?
Thank you
Sap MM
Hi Maria,
If you want to make valuation type default and mandatory.Follow below path
Go to OMWC -->Global categories -->Change
& check the following two indicators
1.Default: val.type ext.procure- enter Valuation type which you want to default
2.Default: val.type ext.proc. mand-check this indicator
Hope it helps..
Cheers,
Vineet
Edited by: Vineet Kumar on Mar 17, 2009 6:24 AM
Similar Messages
-
Same vendor for local & import purchasings
Hi,
is it possible to use the same vendor as a local & import vendor ?
is it possible to classify the same vendor with calssification settings ?
any possible way to do this activity, plesae advice,
rgdsis it possible to use the same vendor as a local & import vendor ?
You can , for statistical purpose. However if you are thinking to pick the different Pricing procedure through Vendor Schema.
It is not possible.
In standard
You can do the same vendor name with two different code ( Different Vendor Account Group which will classify the series e.g 3000 ... series for Import, 200... series for domestic. ) and different schema -
Schema Group for Local & Import for RFQ, Contract, PO
Hi,
I would like to create two schema for Local & Import for RFQ, Contact and PO.
I have customized the schema as per my own requirement, it is working fine in PO RFQ but in Contract the same Schema is not appearing when i am trying to maintained header condition.
In short i would like to have my own schema for Import & Local same for RFQ, Contract & PO.
RegardsCheck this link:
Assigning Calculation Schema to Contract
servicing calculation schema and populating them while creating contract
Check this answer:
Go to M/06 and here in the Base Price Condition Type (for e.g. PB00) assign the Z - Pricing Procedure under "Master Data" Subscreen which you want to use. And then try to create a new Contract or change the old contract.
Edited by: Afshad Irani on Jul 30, 2010 5:29 PM
Edited by: Afshad Irani on Jul 30, 2010 5:30 PM -
Unable to copy material or import Word Doc into RoboHelp 9 (Suite 3)?
I had this problem for awhile until I discovered that I was trying to import material from older word documents. Just opening the word doc in Office 10, saving it as a docx file before trying to copy and paste cleared this up. Pictures and text come across easily in RoboHelp 9 and Photoshop now.
PDF files are hit and miss. I think it may be due to the same type of problem... earlier version creation on the part of the PDF. sometimes they import great, just like they look in PDF format, sometimes they don't are are a big mess. I have had to copy and paste sections, recreating the look of the original pdf in a RoboHelp page.
Backwards compatability seems to be an issue that keeps cropping up in this suite... or am I doing something wrong, missed a simple control somewhere?I think you mean Office 2010. Office 10 is Office 2002,
I'm not quite clear whether you mean import in the sense of File > Import or copy and paste as you refer to both. File > Import from older versions has not given me any problems. Cut and paste is not something I do much of but again it hasn't given me problems.
Cut and paste doesn't require any instructions. Importing is covered on my site.
See www.grainge.org for RoboHelp and Authoring tips
@petergrainge -
Purchase Order Local / Import Smartform link tables with Taxes
Hi,
I am facing a problem while printing PO
1) I am entering taxes like Excise,VAT,CST,Cess etc
I want that taxes to be printed in PO
2) If multiple line items with diffrent tax conditions are there how can I print that in PO
3) How to treat diffrent amount of discount and freight in multiple line items.
Can any body tell me which table should used and from which table i will retrive Taxes e.g Excise / Education Cess / SHC
VAT and CST / service Tax...
Tell me some standard P.O and code .....
plz tell me link between tables .....
Thanx in advanceAll your questions are answered by BestPractice Smartform.
download them, and you will have a complete solution. -
Import duty to be added to material price
Hi!
I have one specific client's requirement ( not indian client), when import goods, they have to pay import duty and VAT :
Import duty on Basic material price, VAT on Basic material price + Import duty.
I have defined one condition type for import duty and added in tax procedure and account key also assigned in order to capture the import duty in seperate GL account.
But I don't have idea how we can add this import duty to material price i.e client is asking while posting goods receipt it has to be added, of course it is not possible.
I have tried with MM pricing procedure by giving one condition for import duty and manually they can insert import duty once they knew the import duty to be paid, then they can post GR and invoice. ( of course we cannot use both MM pricing condition approach and Tax procedure condition type)
but we want to avoid manual updation of duty tax.
Can any one suggest me alternative method.
regs,
ramesh bHi,
Check your import duty condition type - condition type category should be B.
Regards,
Rajeswari -
Import multiple info records for 1 material item in repository
Hi Guys,
I have got sort of a puzzle I can not solve at the moment, maybe some one can help me to solve it. The situation in our system landscape is as follows:
Systems:
SRM 5.0 (Classic implementation scenario)
ECC 6.0
SRM-MDM 2.0
PI 2005
Material master is maintained in R/3 and the materials are replicated to SRM. From SRM we replicate all materials to the catalog repository in SRM-MDM.
As the material master in R/3 is vendor independent, the materials replicated to SRM also have no vendor attached. For the first initial material replication from SRM to the catalog SRM-MDM this also means that the products in the main table of the repository, u2018catalog positionsu2019, will not have a vendor or vendor number attached (i.e. no reference to a source of supply).
To assign a source of supply in the repository to a product (record) we will use info records which are replicated from R/3 to SRM-MDM. The mapping for this in the Import Manager can only be based on the product number. As this is the only unique value available which can map a info record to a already existing (but vendor less) ptoduct item in the catalog.
As long as every item in the repository has only one unique info record, meaning one source of supply with a specific price, there is no issue in the above scenario. Based on the product-id, the info record data will be matched with the material item in the catalog.
The issue for me arises when multiple info records exists for the same material. The info records can heave different vendors and different prices. All possible vendors should be available in the catalog for the same material (at least this is the requirement ).
At this point the product-id will no longer be an unique value. Importing the info records will cause problems, as only one material record is available in the repository for the specific product-id (remember that when doing a initial replication of the material master to the catalog, no vendor data is replicated).
Does anyone had this issue before, and knows a solution? Is it for example possible during the import of the info records in the Import manager, to duplicate material records in the destination data, based on the number of info records available in the source data for the same product-id. Or is there an other solution that I am missing?
Your help would be appreciated!
Regards,
SkanderHi Shai & Ravi,
Thanks for your answers. The MDM version which we are using is 5.5 - currently on SP6
@ Shai: you are right; the standard SRM-MDM 2.0 catalog repository has a qualified lookup table u2018priceu2019, in which itu2019s possible to store the info record data. The standard fields in this sub-table are: Purchase Org, Amount, Currency Lower B, PIR-ID, price based quantity and Price based quantity UoM.
I added some extra fields (non qualified), to accompany the remaining info record data (product no. u2013 vendor id u2013 product category) which is exported/imported, via the standard extraction program in R/3: Tcode MECCM
I tried the solution Ravi proposed. This scenario works fine when, for example you want to maintain multiple info records for one specific material record in the main table (all info records related to the same source of supply, i.e. vendor). But as I described, the info records we import for one product can have different vendors.
The source of supply (vendor) in the shopping cart of SRM is determined via the u2018supplieru2019 field in the main repository table (which is in itself a flat lookup table ). What happens now is that all related info records are added to the u2018price informationu2019 field of the specific product record in the main table. Thus info records which have different suppliers are attached to a record in the main table which will have one specific supplier in the u2018supplieru2019 field. So from my point of view this will not work.
I am still stuck with the situation that the material master import will only import one record for every distinct product, which can have multiple info records. The info records can/will have different vendors. As the supplier field in the main table determines the source of supply in the shopping cartu2026. Iu2019am seeking for a solution which will duplicate the material records in the main table, based on the amount of imported info records for that specific material record, that have distinct vendors.
Shai, if you have some useful info on how you accomplished this requirement on a previous version of SRM-MDM, it would be greatly appreciated if you can share it..
Thx.
Skander -
Import.py runs fine locally, but fails on the remote server
I have the following import.py file (from The Definitive Guide to SOA Oracle Service Bus), which I am calling from an ANT script. It runs fine when I include the parameters for the server running on my machine, but when I change the params to our test server, it connects to the server, but can't create a session. I will include the output of both runs as well. The test server runs on a cluster. Does that make a difference?
LOCAL OUTPUT:
Buildfile: C:\Dev\bea\ALSB\crash_alsb\build.xml
local.import:
[echo] importscript: import.py
[java] Initializing WebLogic Scripting Tool (WLST) ...
[java] Welcome to WebLogic Server Administration Scripting Shell
[java] Type help() for help on available commands
[java] Loading Deployment config from : local.import.properties
[java] Connecting to t3://localhost:7001 with userid weblogic ...
[java] Successfully connected to Admin Server 'AdminServer' that belongs to domain 'alsb_domain'.
[java] Warning: An insecure protocol was used to connect to the
[java] server. To ensure on-the-wire security, the SSL port or
[java] Admin port should be used instead.
[java] Location changed to domainRuntime tree. This is a read-only tree with DomainMBean as the root.
[java] For more help, use help(domainRuntime)
[java] Attempting to import : crash-alsb-20090205.jar on ALSB Admin Server listening on : t3://localhost:7001
[java] Read file crash-alsb-20090205.jar
[java] Created session name SessionScript1236884174250
[java] finding service...
[java] creating session...
[java] return SessionMBean...
[java] SessionMBean started session
[java] ALSBConfiguration MBean found [MBeanServerInvocationHandler]com.bea:Name=ALSBConfiguration.SessionScript1236884174250,Type=com.bea.wli.sb.management.configuration.ALSBConfigurationMBean
[java] Jar Uploaded
[java] ALSB project crash_alsb will get overlaid
[java] Default importPlan
[java] Update Archive crash_alsb/crash-alsb-20090205
[java] Update Archive crash_alsb/crash-config
[java] Update WSDL crash_alsb/resources/wsdls/crash-jxdm-20070731
[java] Update BusinessService crash_alsb/business/crash-20090305
[java] Update ProxyService crash_alsb/proxy/crash-jxdm-20090305
[java] Update Archive crash_alsb/export
[java] got a ref TypeId of <method com.bea.wli.config.Ref.getTypeId of com.bea.wli.config.Ref instance at 22900920>
[java] got a ref TypeId of <method com.bea.wli.config.Ref.getTypeId of com.bea.wli.config.Ref instance at 23950494>
[java] got a ref TypeId of <method com.bea.wli.config.Ref.getTypeId of com.bea.wli.config.Ref instance at 16994189>
[java] got a ref TypeId of <method com.bea.wli.config.Ref.getTypeId of com.bea.wli.config.Ref instance at 6011310>
[java] got a ref TypeId of <method com.bea.wli.config.Ref.getTypeId of com.bea.wli.config.Ref instance at 33251361>
[java] got a ref TypeId of <method com.bea.wli.config.Ref.getTypeId of com.bea.wli.config.Ref instance at 6566192>
[java] Modified importPlan
[java] Update Archive crash_alsb/crash-alsb-20090205
[java] Update Archive crash_alsb/crash-config
[java] Update WSDL crash_alsb/resources/wsdls/crash-jxdm-20070731
[java] Update BusinessService crash_alsb/business/crash-20090305
[java] Update ProxyService crash_alsb/proxy/crash-jxdm-20090305
[java] Update Archive crash_alsb/export
[java] Deployment of : crash-alsb-20090205.jar successful
BUILD SUCCESSFUL
Total time: 8 seconds
TEST SERVER OUTPUT:
Buildfile: C:\Dev\bea\ALSB\crash_alsb\build.xml
remote.import:
[echo] importscript: import.py
[java] Initializing WebLogic Scripting Tool (WLST) ...
[java] Welcome to WebLogic Server Administration Scripting Shell
[java] Type help() for help on available commands
[java] Loading Deployment config from : remote.import.properties
[java] Connecting to http://<IP removed>:7001 with userid <userid removed> ...
[java] Successfully connected to Admin Server 'AdminServer' that belongs to domain 'WL-DEV'.
[java] Warning: An insecure protocol was used to connect to the
[java] server. To ensure on-the-wire security, the SSL port or
[java] Admin port should be used instead.
[java] Location changed to domainRuntime tree. This is a read-only tree with DomainMBean as the root.
[java] For more help, use help(domainRuntime)
[java] Attempting to import : crash-alsb-20090205.jar on ALSB Admin Server listening on : http://<IP removed>:7001
[java] Read file crash-alsb-20090205.jar
[java] Created session name SessionScript1236884107843
[java] finding service...
[java] null returned from findService method.
[java] creating session...
[java] Unexpected error: exceptions.AttributeError
[java] Unexpected error: exceptions.AttributeError
[java] No stack trace available.
[java] Problem invoking WLST - Traceback (innermost last):
[java] File "C:\Dev\bea\ALSB\crash_alsb\import.py", line 212, in ?
[java] File "C:\Dev\bea\ALSB\crash_alsb\import.py", line 130, in importToALSBDomain
[java] File "C:\Dev\bea\ALSB\crash_alsb\import.py", line 197, in getSessionMBean
[java] AttributeError: 'None' object has no attribute 'createSession'
[java] Java Result: 1
BUILD SUCCESSFUL
Total time: 14 seconds
import.py
from java.util import HashMap
from java.util import HashSet
from java.util import ArrayList
from java.io import FileInputStream
#from com.bea.wli.config import TypeIds
from com.bea.wli.sb.util import Refs
from com.bea.wli.config.customization import Customization
from com.bea.wli.sb.management.importexport import ALSBImportOperation
from com.bea.wli.sb.management.configuration import SessionManagementMBean
from com.bea.wli.sb.management.configuration import ALSBConfigurationMBean
import sys
#=======================================================================================
# Entry function to deploy project configuration and resources
# into a ALSB domain
#=======================================================================================
def importToALSBDomain(importConfigFile):
try:
SessionMBean = None
print 'Loading Deployment config from :', importConfigFile
exportConfigProp = loadProps(importConfigFile)
adminUrl = exportConfigProp.get("adminUrl")
importUser = exportConfigProp.get("importUser")
importPassword = exportConfigProp.get("importPassword")
importJar = exportConfigProp.get("importJar")
customFile = exportConfigProp.get("customizationFile")
passphrase = exportConfigProp.get("passphrase")
project = exportConfigProp.get("project")
connectToServer(importUser, importPassword, adminUrl)
print 'Attempting to import :', importJar, "on ALSB Admin Server listening on :", adminUrl
theBytes = readBinaryFile(importJar)
print 'Read file', importJar
sessionName = createSessionName()
print 'Created session name ', sessionName
SessionMBean = getSessionMBean(sessionName)
print 'SessionMBean started session'
ALSBConfigurationMBean = findService(String("ALSBConfiguration.").concat(sessionName), "com.bea.wli.sb.management.configuration.ALSBConfigurationMBean")
print "ALSBConfiguration MBean found", ALSBConfigurationMBean
ALSBConfigurationMBean.uploadJarFile(theBytes)
print 'Jar Uploaded'
if project == None:
print 'No project specified, additive deployment performed'
importResult = ALSBConfigurationMBean.importUploaded(None, false, true, passphrase)
SessionMBean.commitSession(sessionName)
else:
print 'ALSB project', project, 'will get overlaid'
alsbJarInfo = ALSBConfigurationMBean.getImportJarInfo()
alsbImportPlan = alsbJarInfo.getDefaultImportPlan()
alsbImportPlan.setPassphrase(passphrase)
operationMap=HashMap()
operationMap = alsbImportPlan.getOperations()
print
print 'Default importPlan'
printOpMap(operationMap)
set = operationMap.entrySet()
alsbImportPlan.setPreserveExistingEnvValues(true)
#boolean
abort = false
#list of created ref
createdRef = ArrayList()
for entry in set:
ref = entry.getKey()
op = entry.getValue()
#set different logic based on the resource type
type = ref.getTypeId
print 'got a ref TypeId of ', type
if type == Refs.SERVICE_ACCOUNT_TYPE or type == Refs.SERVICE_PROVIDER_TYPE:
if op.getOperation() == ALSBImportOperation.Operation.Create:
print 'Unable to import a service account or a service provider on a target system', ref
abort = true
elif op.getOperation() == ALSBImportOperation.Operation.Create:
#keep the list of created resources
createdRef.add(ref)
if abort == true :
print 'This jar must be imported manually to resolve the service account and service provider dependencies'
SessionMBean.discardSession(sessionName)
raise
print
print 'Modified importPlan'
printOpMap(operationMap)
importResult = ALSBConfigurationMBean.importUploaded(alsbImportPlan)
printDiagMap(importResult.getImportDiagnostics())
if importResult.getFailed().isEmpty() == false:
print 'One or more resources could not be imported properly'
raise
#customize if a customization file is specified
#affects only the created resources
if customFile != None :
print 'Loading customization File', customFile
print 'Customization applied to the created resources only', createdRef
iStream = FileInputStream(customFile)
customizationList = Customization.fromXML(iStream)
filteredCustomizationList = ArrayList()
setRef = HashSet(createdRef)
# apply a filter to all the customizations to narrow the target to the created resources
for customization in customizationList:
print customization
newcustomization = customization.clone(setRef)
filteredCustomizationList.add(newcustomization)
ALSBConfigurationMBean.customize(filteredCustomizationList)
#SessionMBean.commitSession(sessionName)
SessionMBean.activateSession(sessionName,"active session from import.py")
print "Deployment of : " + importJar + " successful"
except:
print "Unexpected error:", sys.exc_info()[0]
if SessionMBean != None:
SessionMBean.discardSession(sessionName)
raise
#=======================================================================================
# Utility function to print the list of operations
#=======================================================================================
def printOpMap(map):
set = map.entrySet()
for entry in set:
op = entry.getValue()
print op.getOperation(),
ref = entry.getKey()
print ref
print
#=======================================================================================
# Utility function to print the diagnostics
#=======================================================================================
def printDiagMap(map):
set = map.entrySet()
for entry in set:
diag = entry.getValue().toString()
print diag
print
#=======================================================================================
# Utility function to load properties from a config file
#=======================================================================================
def loadProps(configPropFile):
propInputStream = FileInputStream(configPropFile)
configProps = Properties()
configProps.load(propInputStream)
return configProps
#=======================================================================================
# Connect to the Admin Server
#=======================================================================================
def connectToServer(username, password, url):
connect(username, password, url)
domainRuntime()
#=======================================================================================
# Utility function to read a binary file
#=======================================================================================
def readBinaryFile(fileName):
file = open(fileName, 'rb')
bytes = file.read()
return bytes
#=======================================================================================
# Utility function to create an arbitrary session name
#=======================================================================================
def createSessionName():
sessionName = String("SessionScript"+Long(System.currentTimeMillis()).toString())
return sessionName
#=======================================================================================
# Utility function to load a session MBeans
#=======================================================================================
def getSessionMBean(sessionName):
#SessionMBean = findService("Session","com.bea.wli.config.mbeans.SessionMBean")
print "finding service..."
SessionMBean = findService(SessionManagementMBean.NAME,SessionManagementMBean.TYPE)
if SessionMBean == None:
print "null returned from findService method."
print "creating session..."
SessionMBean.createSession(sessionName)
print "return SessionMBean..."
return SessionMBean
# IMPORT script init
try:
# import the service bus configuration
# argv[1] is the export config properties file
importToALSBDomain(sys.argv[1])
except:
print "Unexpected error: ", sys.exc_info()[0]
dumpStack()
raiseYour Template code is messed up.
Use the code validation tools below and fix reported errors.
Code Validation Tools
CSS - http://jigsaw.w3.org/css-validator/
HTML - http://validator.w3.org/
Then post your Revised Template.dwt code. Once the editable regions are positioned properly, your child pages should perform better.
Nancy O.
Alt-Web Design & Publishing
Web | Graphics | Print | Media Specialists
http://alt-web.com/
http://twitter.com/altweb -
Hi All,
Following client requirement needed to be mapped,, For import material the invetroy tracking is needed in following places.
Stock of material before arrives the port in container yard (shipping lines), in our container yard and stock in our plant. As of now we do GRN in plant only.Soplease let me know how to track all these in inventroy with or without inbound delivery.
Suggetions hoghly appriciated.
RBDear,
Tracking Import.
First enter XK01 - Create Vendor, in purchasing view you can assign Confirmation Control Key - 0004 - Tracking import.
If vendor is already create, then enter XK02 - change vendor and maintain it in purchasing view.
So at the time of purchase order creation - ME21N system take by default tracking import in purchase order -> Conformation tab -> confirmation control -> Tracking Import.
You can maintain below mention status in Tracking Import,
Acknowledge by Vendor
Dispatched by Vendor
Arrived at Port
Clearance at Port
Stocked at Port
Dispatch. to Factory
After maintain this you can map all process of import purchase.
Exa: - If you purchase material from import market and you prepaid import purchase order - ME21N and maintain tracking import in purchase order.
Then maintain vendor acknowledge when vendor receive your purchase order.
You can maintain dispatch detail by vendor at the time of vendor dispatch etc.
Due to this you can find out actual status of import purchase.
If in your company tracking import is not activated.
So you can config it with below path.
SPRO - Materials Management - Purchasing - Purchase Order - Confirmations - Define External Confirmation Categories.
Here you can define status of tracking import like
Acknowledge by Vendor
Dispatched by Vendor
Arrived at Port
Clearance at Port
Stocked at Port
Dispatch. to Factory.
SPRO - Materials Management - Purchasing - Purchase Order - Confirmations - Define Internal Confirmation Categories.
Here active Order Acknowledgment - Z1 - Acknowledge by Vendor.
Then
SPRO - Materials Management - Purchasing - Purchase Order - Confirmations - Set Up Confirmation Control.
Create Tracking Import - 0004 and assign confirmation sequence.
Acknowledge by Vendor
Dispatched by Vendor
Arrived at Port
Clearance at Port
Stocked at Port
Dispatch. to Factory
At last record Dispatch to Factory, Here click on three indicators as per below mention detail,
Indicator for MRP - Relevant
Indicator for GR - Relevant
Indicator for GR - Assignment,
Also assign Reference date.
Then follow above mention process.
Regards,
Mahesh Wagh -
Import Failed loading Material Classification data Links
Hi Friends
Please help me in solving the issue.
I am doing Data Migration, The data is provided in Excel sheet.All the data related to Material is imported successfully in MDM.
But the Material Classification links ( 40K+ rows ) is throwing Import failed error message - screenshot attached.
I have already unmounted repository, mounted again , and started the Repository after verifying it.
Even though this Material Classification links file is throwing the same error .
splitting the file into 10000 rows also throwing the same error.
But when taken only 10 rows in an excel it is importing successfully.
Please suggest.
Regards
ShifaliHi Shifali ,
Please check if the below link is of any use.
RC Error Code = <0x84020020>
Regards,
Vag Vignesh Shenoy -
Replication of CUSTOMER fields (Z fields) for a material
Hi *,
I have followed a manual to replicate z fields in CRM.
I have just defined :
a Z fm in R/3 , in order to fetch a brand new material created in R/3
then a set type with attributes and I have assigned this set type to this category and hierarchy.
Finally I have implemented the badi PRODUCT_CUSTOMER2.
The Bdoc comes empty, meant that the z fields are not transported from R/3.
I think that the fm in R/3 ,inspite off no errors is badly defined.
I think parameters of FM (export, import, tables, changing) are fine.
Have u got any example of code concerning your Z fm.
My code is the following:
FUNCTION Z_SEND_PROD_TO_CRM.
""Interfase local
*" IMPORTING
*" REFERENCE(I_OBJ_CLASS) LIKE BAPICRMOBJ-OBJCLASS
*" REFERENCE(I_OBJ_NAME) LIKE BAPICRMOBJ-OBJ_NAME
*" REFERENCE(I_BAPICRMDH2) LIKE BAPICRMDH2 STRUCTURE BAPICRMDH2
*" OPTIONAL
*" REFERENCE(I_KEYWORD_IN) LIKE CRM_PARA-KEYWORD_IN
*" REFERENCE(I_CRMRFCPAR) LIKE CRMRFCPAR STRUCTURE CRMRFCPAR
*" EXPORTING
*" REFERENCE(E_DO_NOT_SEND) LIKE CRM_PARA-XFELD
*" TABLES
*" T_INT_TABLES STRUCTURE BAPIMTCS
*" T_BAPISTRUCT STRUCTURE BAPIMTCS
*" T_MESSAGES STRUCTURE BAPICRMMSG
*" T_KEY_INFO STRUCTURE BAPICRMKEY
*" T_BAPIIDLIST STRUCTURE BAPIIDLIST
*" T_OTHER_INFO STRUCTURE BAPIEXTC
*" CHANGING
*" REFERENCE(C_BAPICRMDH2) LIKE BAPICRMDH2 STRUCTURE BAPICRMDH2
*" REFERENCE(C_RFCDEST) LIKE CRMRFCPAR STRUCTURE CRMRFCPAR
*" REFERENCE(C_OBJNAME) LIKE BAPICRMOBJ-OBJ_NAME
DATA: ls_mara TYPE mara.
* ls_marc TYPE marc.
Communication Structure
DATA: BEGIN OF ls_com_key,
struct(20),
matnr(40),
END OF ls_com_key.
Communication structure (additional MARA data)
DATA: BEGIN OF ls_com_data1,
ZZ_AREA_PR LIKE mara-ZZ_AREA_PR,
ZZPROD_EJEC LIKE mara-ZZPROD_EJEC,
ZZ_COD_UER LIKE mara-ZZ_COD_UER,
ZZTIP_PROD LIKE mara-ZZTIP_PROD,
ZZ_EMISION_PROG LIKE mara-ZZ_EMISION_PROG,
ZZ_COD_CONTRATO LIKE mara-ZZ_COD_CONTRATO,
ZZ_CANAL LIKE mara-ZZ_CANAL,
ZZ_NAT_ID LIKE mara-ZZ_NAT_ID,
END OF ls_com_data1.
Communication structure (additional MARC data)
DATA: BEGIN OF ls_com_data2,
mfrgr(8),
ladgr(4),
vbamg(13),
vrvez(7),
vbeaz(7),
END OF ls_com_data2.
Field Symbol for Casting BAPIMTCS
FIELD-SYMBOLS:
<source_x> TYPE x,
<target_x> TYPE x.
Additional Fields used
DATA: lv_matnr TYPE mara-matnr.
DATA: ls_BAPISDCOND TYPE BAPISDCOND.
DATA: ORIGNAL_COST TYPE BAPISDCOND-COND_VALUE.
DATA:
BEGIN **************************************************************
ATTENTION: This declaration is needed, to get the right offset for
a later assign (to prevent alignment error at statement
ASSIGN ... CASTING ...)
lv_casting TYPE f, "#EC NEEDED
Never insert a new definition between LV_CASTING and
and LS_BAPIMTCS !!!
ct_bapimtcs TYPE bapimtcs.
END ****************************************************************
FIELD-SYMBOLS:
<ledsource_x> TYPE BAPISDCOND,
<ledtarget_x> TYPE BAPISDCOND,
<lfs_data> type any.
DATA: gc_condition TYPE tabname30 VALUE 'BAPISDCOND'.
CASE i_obj_name.
WHEN 'MATERIAL'.
We want to pick up the additional fields from MARA
Mapping of MARA fields into table t_other_info
LOOP AT t_int_tables WHERE tabname = 'MARA'.
ASSIGN t_int_tables-data TO <source_x> CASTING.
ASSIGN ls_mara TO <target_x> CASTING.
IF <source_x> IS ASSIGNED AND
<target_x> IS ASSIGNED.
<target_x> = <source_x>.
ELSE.
CONTINUE.
ENDIF.
ls_com_key-struct = 'MARA'.
ls_com_key-matnr = ls_mara-matnr.
MOVE-CORRESPONDING ls_mara TO ls_com_data1.
t_other_info-field1 = ls_com_key.
t_other_info-field2 = ls_com_data1.
APPEND t_other_info.
We want to pick up the additional fields from MARC
lv_matnr = t_int_tables-data+3(40).
CLEAR ls_marc.
CALL FUNCTION 'MARC_SINGLE_READ'
EXPORTING
matnr = lv_matnr
STILL NEEDS SOME WORK HERE
There is a 1 to many relationship between MARA and MARC
and we need to determine how to handle this.
For testing purposes Plant 10 is hard coded
werks = '10 '
END
IMPORTING
wmarc = ls_marc
EXCEPTIONS
OTHERS = 5.
MOVE-CORRESPONDING ls_marc TO ls_com_data2.
t_other_info-field3 = ls_com_data2.
APPEND t_other_info.
ENDLOOP.
WHEN 'LEDELIVERY'.
*t_int_tables
LOOP AT T_BAPISTRUCT WHERE tabname = 'BAPISDCOND'.
ASSIGN T_BAPISTRUCT-data TO <ledsource_x> CASTING.
ASSIGN ls_BAPISDCOND TO <ledtarget_x> CASTING.
IF <ledsource_x> IS ASSIGNED AND
<ledtarget_x> IS ASSIGNED.
*Following will pass data from T_BAPISTRUCT-data to ls_BAPISDCOND
*Both are having separate memory areas.
<ledtarget_x> = <ledsource_x>.
ELSE.
CONTINUE.
ENDIF.
ORIGNAL_COST = ls_BAPISDCOND-COND_VALUE.
*As <ledtarget_x> refers to ls_BAPISDCOND memory,
*in debugging, you can see <ledtarget_x>-con_value becomes 5000.
ls_BAPISDCOND-COND_VALUE = '5000'.
*<ledsource_x> refers to data field of header line (workline) of
*internal table T_BAPISTRUCT
*So following will change data field of header line of T_BAPISTRUCT
<ledsource_x> = ls_BAPISDCOND.
ENDLOOP.
ENDCASE.
Any help will be considered and rewarded.
Regards,
AndreA
ENDFUNCTION.Hi all,
basically bear in mind when you extend BDOCs in CRM 4.0 two things:
1. create API structure
2. Put x in Badi PRODUCT_CUSTOMER2 in order to map all Z fields.
For example:
ls_zprod_xport-data-zz0010 = ls_com_mara-ZZ_AREA_PR.
ls_zprod_xport-data_X-zz0010 = 'X'.
Regards,
AndreA -
Hi All,
We r using TAXINN for domestic and have maintained combination of Cntry/Planr/ChapterID for condition record using standard access sequence.
Now in case of Import, we have maintained combination of Plant / Pur.Org. for Import conditions using another access sequence.
Now my case is that same material wil be purchase from domestic as well as import market.
So for same material 2 records will be existing.
Now when m procurring that material from Import vendor, as in import vendor import schema is there, its showing Custom conditions in Item detail, condition tab. And in Item detail, Invoice tab its showing values calculated by 1st combination (i.e. from TAXINN)
Now suppose mat is A, price 10$, Qty 100, having Ch ID 1000 11 11, with duty rates as 10,2,1
And for import conditions are suppose CVD 10%, Add.Custom Duty 4%,ECess on CVD 2%, SECess on CVD1%.
So in Condition tab it will show
Net = 1000$
CVD1= 100$
ECess=2$
SEces=1$.
And in Invoice Tab, it wil show
Net = 1000$
BED = 100$
ECess=2$
SEces=1$.
Now after invoice verification for Custom, when m going for GR, in excise tab values are flowing in $, only Add.Custom duty is in RS,
What i guess those values are flowing from TAXINN only.
When I post J1IEX, respective GLs are updated with 100, 2 & 1$.
Now my question is what configuration I m missing so that values are not flowing in Rs at the time of GR itself or at the time of J1IEX?
Pls guide if missing some config.
Thanks.ZIMPOR - IN: Purchasing for Imported Materials
1 Step Cntr CTyp Description From To Man. Req Stat
2 1 1 P000 Gross Price 0 0
3 1 2 P001 Gross Price 0 0
4 10 1 R001 Discount/Quantity 0 0 X
5 10 2 R002 Absolute discount 0 0 X
6 10 3 KR00 Header Disc.(Value) 0 0 X
7 10 4 K000 Contrct HeaderDisc % 0 0
8 10 5 R003 Discount % on Net 0 0 X
9 20 Net including Price& Discount 1 10 X
10 25 0 JOFV Ocean/AirFreight-Val X
11 25 1 JOFP Ocean/AirFreight-% 20 X
12 30 0 Net1(Price+ Overseas Fre.) 20 25
13 35 JINS Import Insurance-% 30 X
14 40 Sub tot.-Landing Charg. 30 35
15 45 0 JLDC Customs Landing Charge-% 40 X
16 50 Assessable Value 40 45
17 55 0 JCDB IN Basic customs 50
18 60 Sub Total- For CVD 50 55
19 65 0 JCV1 IN CVD 60
20 70 0 JECV ECess on CVD 65
21 75 Copy of IN Basic Customs 55
22 80 0 BCD + CVD + Edu Cess on CVD 65 75
23 85 0 JEDB Customs Edu Cess 80
24 90 Sub Total -Add. Cust.Duty 80 85 X
25 95 Copy of Assessable Value 50 X
26 100 JADC Add. Customs duty 90 95
27 105 Net 2(NetCus.Dutyothers) X
28 110 0 JCFA Clearing Agent Charge
29 115 0 JFR1 Local Freight Charge 0 0
30 120 0 JFR2 Wharfage , Misc
31 125 0 Landed Cost of Good 105 120 -
Workflow material document.
Hi Exist any workflow to show a material documen using tnx MIGO ?
yeah I know , I´m not very expert in WF , the thing is that there is a work item of user decision that have two branches ( approv, disaprov.) , before in 4.6C when the user checked to the business workflow he had three posible decisions of them aprov, disaprov and DISPLAY now in Ecc 6.0 display disapear . this work item uses the following function. , thank you if you can make a little effort to help me.
I was thinking to use WAPI but im not sure if it is the solution.
fUNCTION ZMM_WF_DECISION.
*"*"Interfase local
*" IMPORTING
*" REFERENCE(I_INFO) TYPE SWR_WIPR_I
*" EXPORTING
*" REFERENCE(E_INFO) TYPE SWR_WIPR_E
"*"Interfase local
" IMPORTING
" REFERENCE(I_INFO) TYPE SWR_WIPR_I
" EXPORTING
" REFERENCE(E_INFO) TYPE SWR_WIPR_E
* Container Set Table
DEFINE swc_set_table.
call function 'SWC_TABLE_SET'
EXPORTING
element = &2
TABLES
container = &1
table = &3
EXCEPTIONS
others = 1.
END-OF-DEFINITION.
* Container Get Table
DEFINE swc_get_table.
call function 'SWC_TABLE_GET'
EXPORTING
element = &2
TABLES
container = &1
table = &3
EXCEPTIONS
not_found = 8
is_null = 4
others = 1.
END-OF-DEFINITION.
DATA: container TYPE swcont OCCURS 0 WITH HEADER LINE,
cont_tmp TYPE swcont OCCURS 0 WITH HEADER LINE,
swwwihead TYPE swwwihead,
p_memory TYPE char15,
t_contob LIKE sww_contob,
p_mblnr LIKE mkpf-mblnr,
p_mjahr LIKE mkpf-mjahr.
DATA: BEGIN OF text OCCURS 10,
decision_text LIKE sww_cont-value,
END OF text.
CLEAR container.
REFRESH container.
CALL FUNCTION 'SAP_WAPI_CREATE_EVENT'
EXPORTING
OBJECT_TYPE =
OBJECT_KEY =
EVENT =
* COMMIT_WORK = 'X'
* EVENT_LANGUAGE = SY-LANGU
* LANGUAGE = SY-LANGU
* USER = SY-UNAME
* IFS_XML_CONTAINER =
* IMPORTING
* RETURN_CODE =
* EVENT_ID =
* TABLES
* INPUT_CONTAINER =
* MESSAGE_LINES =
* MESSAGE_STRUCT =
CALL FUNCTION 'SWW_WI_CONTAINER_READ'
EXPORTING
wi_id = i_info-wi_id
TABLES
wi_container = container.
* CALL FUNCTION 'SAP_WAPI_READ_CONTAINER'
* EXPORTING
* WORKITEM_ID = i_info-wi_id
* LANGUAGE = SY-LANGU
* USER = SY-UNAME
**IMPORTING
** RETURN_CODE =
** IFS_XML_CONTAINER =
** IFS_XML_CONTAINER_SCHEMA =
* TABLES
* SIMPLE_CONTAINER = container
** MESSAGE_LINES =
** MESSAGE_STRUCT =
** SUBCONTAINER_BOR_OBJECTS =
** SUBCONTAINER_ALL_OBJECTS =
swc_get_table container '_DECISION_TEXT' text.
READ TABLE text WITH KEY decision_text(4) = '9999'.
IF sy-subrc NE 0.
MOVE '9999Visualizar Entrada de Mercancias' TO text-decision_text.
APPEND text.
swc_set_table container '_DECISION_TEXT' text.
* CALL FUNCTION 'SAP_WAPI_WRITE_CONTAINER'
* EXPORTING
* WORKITEM_ID = i_info-wi_id
* LANGUAGE = SY-LANGU
* ACTUAL_AGENT = SY-UNAME
* DO_COMMIT = 'X'
** IFS_XML_CONTAINER =
** IMPORTING
** RETURN_CODE =
* TABLES
* SIMPLE_CONTAINER = container.
** MESSAGE_LINES =
** MESSAGE_STRUCT =
CALL FUNCTION 'SWW_WI_CONTAINER_MODIFY'
EXPORTING
wi_id = i_info-wi_id
do_commit = 'X'
TABLES
wi_container = container.
ENDIF.
CALL FUNCTION 'SWU2_INPLACE_DECISION_PROCESS'
EXPORTING
i_info = i_info
IMPORTING
e_info = e_info.
CALL FUNCTION 'SWW_WI_CONTAINER_READ'
EXPORTING
wi_id = i_info-wi_id
TABLES
wi_container = container.
READ TABLE container WITH KEY element = '_RESULT'
value = '9999'.
IF sy-subrc EQ 0.
DELETE container INDEX sy-tabix.
CLEAR container.
READ TABLE container WITH KEY element = '_WI_RESULT'
value = '9999'.
IF sy-subrc EQ 0.
DELETE container INDEX sy-tabix.
CLEAR container.
ENDIF.
CLEAR e_info-execresult.
CALL FUNCTION 'SWW_WI_CONTAINER_DELETE'
EXPORTING
wi_id = i_info-wi_id.
CALL FUNCTION 'SWW_WI_CONTAINER_INSERT'
EXPORTING
wi_id = i_info-wi_id
do_commit = 'X'
TABLES
wi_container = container.
CALL FUNCTION 'SWW_WI_HEADER_READ'
EXPORTING
wi_id = i_info-wi_id
IMPORTING
wi_header = swwwihead.
CALL FUNCTION 'SWW_WI_CONTAINER_READ'
EXPORTING
wi_id = swwwihead-wi_chckwi
TABLES
wi_container = cont_tmp.
CLEAR cont_tmp.
READ TABLE cont_tmp WITH KEY element = 'MATERIALDOCUMENT'.
MOVE cont_tmp-value TO p_mblnr.
CLEAR cont_tmp.
READ TABLE cont_tmp WITH KEY element = 'MATDOCUMENTYEAR'.
MOVE cont_tmp-value TO p_mjahr.
CALL FUNCTION 'SWW_WI_HEADER_READ'
EXPORTING
wi_id = swwwihead-wi_chckwi
IMPORTING
wi_header = swwwihead.
CASE swwwihead-wi_rh_task.
WHEN 'WS99800003'. "Aprobacion Entrada Mercancia
CALL FUNCTION 'MIGO_GR_CREATE'
EXPORTING
I_ACTION = 'A04'
I_REFDOC = 'R02'
I_NOTREE = 'X'
I_NO_AUTH_CHECK = 'X'
I_SKIP_FIRST_SCREEN = 'X'
I_DEADEND = 'X'
I_OKCODE = 'OK_GO'
I_MBLNR = p_mblnr
I_MJAHR = p_mjahr.
ENDCASE.
ENDIF.
READ TABLE container WITH KEY element = '_RESULT'
value = '0001'.
IF sy-subrc EQ 0 AND e_info-execresult EQ 'E'.
READ TABLE container WITH KEY element = '_DECISION_PARAMETER1'.
MOVE container-value TO p_mblnr.
READ TABLE container WITH KEY element = '_DECISION_PARAMETER2'.
MOVE container-value TO p_mjahr.
PERFORM process_message USING p_mblnr p_mjahr '1'.
ENDIF.
READ TABLE container WITH KEY element = '_RESULT'
value = '0002'.
IF sy-subrc EQ 0 AND e_info-execresult EQ 'E'.
READ TABLE container WITH KEY element = '_DECISION_PARAMETER1'.
MOVE container-value TO p_mblnr.
READ TABLE container WITH KEY element = '_DECISION_PARAMETER2'.
MOVE container-value TO p_mjahr.
PERFORM process_message USING p_mblnr p_mjahr '2'.
ENDIF.
READ TABLE container WITH KEY element = '_RESULT'
value = '9998'.
IF sy-subrc EQ 0.
MOVE 'E' TO e_info-execresult.
ENDIF.
ENDFUNCTION. -
Hi
Sap Experts,
Right now i am working in a project where mostly material is import.Can any body tell me,How import process is differnt from local purchase.what access sequence,condition types,control data.and taxes are define in customization menu.How full customization is done to procure imported material.
please explain my detail.
Thanks In Advance
sumit birlahi
in ur pricing u have to create following
JCDB IN: Basic Custom Duty
JCV1 IN : CVD
JECV IN : Ed Cess on CVD
J1CV IN : H&SECess on CVD
JEDB IN : Ed Cess on BCD
JSDB IN : H&SECess on BCD
JADC Additional Duty of Custom
JCV1, JECV, J1CV and JADC will go to Excise MODVAT Accounts and JCDB, JEDB and JSDB will get loaded on inventory.
In M/06, for all above conditions, keep following controls;
Cond. class A (Discount or surcharge) Plus/minus A (Positive)
Calculat.type A (Percentage)
Cond.category B (Delivery costs)
Activate "Currency Conversion" and "Accrual"
Now for setoff
maintain the following conditions in excise default settings.
JCV1, JECV, JADC
path: spro>logistic general >tax on goods movements>India >basic settings>determination of excise duty >maintain excise defaults >
along with ur tax procedure maintain these conditions in the specified fields
JCV1 in CVD condition field.
JECV in ECS condition field.
JADC in ACD condition field.
in case of SECess on CVD, no need to maintain.
it is hardcode in the standard
Vendor in GR 2 (Entry always possible)
Import scenario
1.Create material master of import goods.
2. Create vendor master record of import vendor and Customs clearing vendor.
3. Maintain CIN settings.
4. Maintain J1id.
5. Maintain Pricing procedure SAP standard JIMPOR.., maintain required conditions..JCDB, JCV1...
6.Assign the schema to respective import vendor in purchasing view of VMR.
7. Create import PO, check in conditions of JCDB, JCV1 the customs clearing vendor(Indian vendor) and percentage is assigned. This can be done by In condition tab select condtion then click on display, then enter.
Save the PO.
8. MIRO --Capture Bill Of Entry.(Commercial Invoice No.,).Customs clearing first .Here CVD will b converted to BED.
9. Capture Excises invoice--D.
10.MIGO.
12.Post Excise Invoice.
13.MIRO...Payment to vendor(import vendor)
regards
kunal -
How to transfer excise duities to next company(Import duties)
Hello,
Local material " A"
Import Material " AI"
above mentioned both material were same, earlier business was created two cat numbers.
Business were have two Cat numbers 1) "A" 2) "AI", actually both the materials were same ,These two materials were created means 1) "A" material is procured as local and 2) "AI" material were procured from Import..
Now business decided that. keep only one material instead of A and AI. Now they want to go for split valuation "A(L)" means Procure locally and "A(I)" means Procure Import business.
Now problem is.
Old "AI" materials stock will going to transfer to New Split valuated material A(I). When i will transfer this material to other plant to company (Through STO were creating Billing also) , then how to transfer excise duties .Because while Import we were taken credit of duties.
is their any workaround solution is their?. Bcz now onwards Business does not want to use old import material 'AI"...
How to work in this case in STO?
I have doubts... we were taken credit for Material "AI" now we were transferred that materials stock to "A"... in this case while STO how to transfer credited duties to next company??
Regards
sapman manHello,
Once you received the material with excisable then system will update
J_1IEXCDTL
J_1IEXCHDR
J_1IPART1
J_1IPART2
If suppose old "AI " materials was updated in the above table. then Now as per your business you were transferred material to material(mov type 309), then afterwords moving material through STO,
then system will never find New"A(I)" material , because this materials does not available in above said table.
Better check Update table with new materials and check the STO process.
Mahesh Naik.
Maybe you are looking for
-
After 2,1 update cannot call from 3G
The long waited 2.1 is good for nothing, contrary is worst than before: - I try to call from my contact, start dialing and in a second call end. On E work fine. - Contact still lagging - Reception and voice quality same bag quality. And probably more
-
How to convert sapscript to excel & send it as attachment in mail?
Hi, I have a requirement to send the customer statement in excel format with all open items to the customer email address. I am creating the customer statement via sapscript . Then I need to convert that into excel. I tried using CONVERT_OTF. But a
-
I can't play my downloaded games,I get an ERROR code and it restarts.
I have some downloaded games, every time i try to play them, I get a screen that says, PNP_DETECTED_FATAL_ERROR, and then my computer restarts. This is a new computer.
-
No sound in photobooth or imovie!?
I just tried recording a video using photobooth and when i played it back the sound didn't work. It has definitely worked before and i tried it again and it didn't work so it's not random there must be something wrong with it. I looked online to see
-
How to access a request scope value in groovy expression of bind variable?
I need to filter the VO query based on the username.Following is what I am doing: <af:commandButton text="#{translationviewBundle['LoginPage.LOGIN']}" id="cbLogin" partialSubmit="true" action="validate"> <af:setPropertyListener to="#{requestScope.use