`
Jack Wu
  • 浏览: 902762 次
  • 来自: ...
社区版块
存档分类
最新评论

abap--关于sap地址,传真,邮箱的地址读取

 
阅读更多

在sap的应用中,很多地方需要用到地址和联系方式,sap对于地址采用了集中维护,最近对这进行了学习,收集到的一些资料供大家参考,也请大家多多指点。
一、相关package
SZAD

二、相关表(可以参见ADDR_SAVE_INTERN函数的操作)
1 ADR2 : 电话号码 (业务地址服务)(ADDRNUMBER(10),PERSNUMBER(10))
2.ADR3:传真号 (业务地址服务)(ADDRNUMBER(10),PERSNUMBER(10))
3.ADR4:电传号码 (业务地址服务)(ADDRNUMBER(10),PERSNUMBER(10))
4.ADR5:电传号码 (业务地址服务)(ADDRNUMBER(10),PERSNUMBER(10))
5.ADR6:SMTP 编号 (业务地址服务)(ADDRNUMBER(10),PERSNUMBER(10))
6.ADR7:远程邮件地址 (R/3 - R/3; 业务地址服务) (ADDRNUMBER(10),PERSNUMBER(10))
7.ADRC:地址 (业务地址服务) (ADDRNUMBER(10))
8.ADCP:个人/地址分配 (业务地址服务)(ADDRNUMBER(10),PERSNUMBER(10)),纪录用户哪些数据被维护如:FLAGCOMM3为'X'表示传真号被维护;
9.ADRP:个人(办公地址管理)(PERSNUMBER(10))

三、相关BAPI
BAPI_ADDRESSPERS_CHANGE
BAPI_ADDRESSPERS_GETDETAIL

四、获取下一个地址自动编号(代码)
  1.供应商地址的读取
  addr_ref-appl_table     = 'EKKO'.
  addr_ref-appl_field     = 'ADRNR'.
  addr_ref-appl_key(3)    = ekko-mandt.
  addr_ref-appl_key+3(10) = ekko-ebeln.
  addr_ref-addr_group     = 'ME03'.
  addr_ref-owner          = space.
* get address number
  CALL FUNCTION 'ADDR_NUMBER_GET'
    EXPORTING
      address_handle           = address_handle
      address_reference        = addr_ref
    IMPORTING
      address_number           = p_ekko-adrnr
    EXCEPTIONS
      address_handle_not_exist = 1
      internal_error           = 2
      parameter_error          = 3
      OTHERS                   = 4.

2.客户的地址


3.获取合作伙伴地址号码
先获取联系人编号
  REFERENCE-APPL_TABLE     = ‘KNVK’.
  REFERENCE-APPL_FIELD     = ‘PRSNR’.
*PERSON-KEY_CONTENT为合作伙伴的编号
  CONCATENATE SY-MANDT PERSON-KEY_CONTENT INTO REFERENCE-APPL_KEY.
  REFERENCE-PERS_GROUP     = C_ADDRESS_GROUP.
  REFERENCE-ADDRNUMBER     = ADDRESS_NUMBER.
  IF ADDRESS_TYPE = C_TYPE_2.
    REFERENCE-PERS_ADDR    = 'X'.
    CLEAR REFERENCE-ADDRNUMBER.
  ELSE.
    CLEAR REFERENCE-PERS_ADDR.
  ENDIF.
  REFERENCE-OWNER          = 'X'.

 CALL FUNCTION 'ADDR_PERSON_NUMBER_GET' 
        EXPORTING
                    PERSON_HANDLE           = PERSONHANDLE
                    PERSON_REFERENCE        = REFERENCE
         IMPORTING
                    PERSON_NUMBER           = ZAV_TAB-PERSON-NUMBER
         EXCEPTIONS
                    INTERNAL_ERROR          = 1
                    PERSON_HANDLE_NOT_EXIST = 2
                    PARAMETER_ERROR         = 3
                    OTHERS                  = 4.
*在获取地址编号
 CALL FUNCTION 'NUMBER_GET_NEXT'
      EXPORTING
           NR_RANGE_NR             = '01'
           OBJECT                  = 'ADRNR'
           QUANTITY                = REQUESTED_QUANTITY
      IMPORTING
           NUMBER                  = NUMBER
           QUANTITY                = QUANTITY
           RETURNCODE              = RETURNCODE_NUMBERRANGE
      EXCEPTIONS
           INTERVAL_NOT_FOUND      = 1
           NUMBER_RANGE_NOT_INTERN = 2
           OBJECT_NOT_FOUND        = 3
           QUANTITY_IS_0           = 4
           QUANTITY_IS_NOT_1       = 5
           INTERVAL_OVERFLOW       = 6
           OTHERS                  = 7.

五、一些常用地址如何读取
1. 客户地址
客户地址的读取你首先要读KNA1表,找出客户对应的地址编号(ADRNR)字段,在根据此字段去读取ADRC表,再读取其他相关表(ADR2 ..)
  SELECT * FROM ADR2
           INTO TABLE <ft_temp>
           WHERE addrnumber = iv_addrnumber
           AND   persnumber = iv_persnumber.
2 SD的合作伙伴的地址
KNVK:户主要联系伙伴(PARNR(10)),该表含有连个字段:ADRNP_2(10)->地址号码,PRSNR(10)->人员编号,再根据这两个号码去读取相关表数据。

六、地址写入代码摘抄
FUNCTION ADDR_SAVE_INTERN.
*"----------------------------------------------------------------------
*"*"Verbuchungsfunktionsbaustein:
*"
*"*"Lokale Schnittstelle:
*"  TABLES
*"      ADRC_D STRUCTURE  ADRC
*"      ADRC_U STRUCTURE  ADRC
*"      ADRC_I STRUCTURE  ADRC
*"      ADRCT_D STRUCTURE  ADRCT
*"      ADRCT_U STRUCTURE  ADRCT
*"      ADRCT_I STRUCTURE  ADRCT
*"      ADRP_D STRUCTURE  ADRP
*"      ADRP_U STRUCTURE  ADRP
*"      ADRP_I STRUCTURE  ADRP
*"      ADCP_D STRUCTURE  ADCP
*"      ADCP_U STRUCTURE  ADCP
*"      ADCP_I STRUCTURE  ADCP
*"      ADRT_D STRUCTURE  ADRT
*"      ADRT_U STRUCTURE  ADRT
*"      ADRT_I STRUCTURE  ADRT
*"      ADR2_D STRUCTURE  ADR2
*"      ADR2_U STRUCTURE  ADR2
*"      ADR2_I STRUCTURE  ADR2
*"      ADR3_D STRUCTURE  ADR3
*"      ADR3_U STRUCTURE  ADR3
*"      ADR3_I STRUCTURE  ADR3
*"      ADR4_D STRUCTURE  ADR4
*"      ADR4_U STRUCTURE  ADR4
*"      ADR4_I STRUCTURE  ADR4
*"      ADR5_D STRUCTURE  ADR5
*"      ADR5_U STRUCTURE  ADR5
*"      ADR5_I STRUCTURE  ADR5
*"      ADR6_D STRUCTURE  ADR6
*"      ADR6_U STRUCTURE  ADR6
*"      ADR6_I STRUCTURE  ADR6
*"      ADR7_D STRUCTURE  ADR7
*"      ADR7_U STRUCTURE  ADR7
*"      ADR7_I STRUCTURE  ADR7
*"      ADR8_D STRUCTURE  ADR8
*"      ADR8_U STRUCTURE  ADR8
*"      ADR8_I STRUCTURE  ADR8
*"      ADR9_D STRUCTURE  ADR9
*"      ADR9_U STRUCTURE  ADR9
*"      ADR9_I STRUCTURE  ADR9
*"      ADR10_D STRUCTURE  ADR10
*"      ADR10_U STRUCTURE  ADR10
*"      ADR10_I STRUCTURE  ADR10
*"      ADR11_D STRUCTURE  ADR11
*"      ADR11_U STRUCTURE  ADR11
*"      ADR11_I STRUCTURE  ADR11
*"      ADR12_D STRUCTURE  ADR12
*"      ADR12_U STRUCTURE  ADR12
*"      ADR12_I STRUCTURE  ADR12
*"      ADR13_D STRUCTURE  ADR13
*"      ADR13_U STRUCTURE  ADR13
*"      ADR13_I STRUCTURE  ADR13
*"      ADRCOMC_D STRUCTURE  ADRCOMC
*"      ADRCOMC_U STRUCTURE  ADRCOMC
*"      ADRCOMC_I STRUCTURE  ADRCOMC
*"      ADRG_D STRUCTURE  ADRG
*"      ADRG_U STRUCTURE  ADRG
*"      ADRG_I STRUCTURE  ADRG
*"      ADRGP_D STRUCTURE  ADRGP
*"      ADRGP_U STRUCTURE  ADRGP
*"      ADRGP_I STRUCTURE  ADRGP
*"      ADRV_D STRUCTURE  ADRV
*"      ADRV_U STRUCTURE  ADRV
*"      ADRV_I STRUCTURE  ADRV
*"      ADRVP_D STRUCTURE  ADRVP
*"      ADRVP_U STRUCTURE  ADRVP
*"      ADRVP_I STRUCTURE  ADRVP
*"  EXCEPTIONS
*"      DATABASE_ERROR
*"      INTERNAL_ERROR
*"----------------------------------------------------------------------
*                           Initialisierung der FG sicherstellen
  PERFORM CHECK_FOR_INITIALIZATION.
  DEFINE WRITE_TO_DB.
  DELETE &1 FROM TABLE &1_D.
  IF SY-SUBRC <> 0.
    MESSAGE A840 WITH '&1' RAISING DATABASE_ERROR.
* Datenbankfehler beim L鰏chen aus Tabelle &
  ENDIF.
  UPDATE &1 FROM TABLE &1_U.
  IF SY-SUBRC <> 0.
    MESSAGE A841 WITH '&1' RAISING DATABASE_ERROR.
* Datenbankfehler beim 膎dern von Tabelle &
  ENDIF.
  INSERT &1 FROM TABLE &1_I.
  IF SY-SUBRC <> 0.
    MESSAGE A842 WITH '&1' RAISING DATABASE_ERROR.
* Datenbankfehler beim Einf黦en in Tabelle &
  ENDIF.
  END-OF-DEFINITION.
  WRITE_TO_DB  ADRC   .
* WRITE_TO_DB  ADRCT  .                                     "*912d
  DELETE ADRCT FROM TABLE ADRCT_D.                          "*912i
  IF SY-SUBRC <> 0.                                         "*912i
    MESSAGE A840 WITH 'ADRCT' RAISING DATABASE_ERROR.       "*912i
  ENDIF.                                                    "*912i
  UPDATE ADRCT FROM TABLE ADRCT_U.                          "*912i
  IF SY-SUBRC <> 0.                                         "*912i
    MESSAGE A841 WITH 'ADRCT' RAISING DATABASE_ERROR.       "*912i
  ENDIF.                                                    "*912i
  MODIFY ADRCT FROM TABLE ADRCT_I.                          "*912i
  IF SY-SUBRC <> 0.                                         "*912i
    MESSAGE A842 WITH 'ADRCT' RAISING DATABASE_ERROR.       "*912i
  ENDIF.                                                    "*912i
  WRITE_TO_DB  ADRP   .
  WRITE_TO_DB  ADCP   .
  WRITE_TO_DB  ADRT   .
  WRITE_TO_DB  ADR2   .
  WRITE_TO_DB  ADR3   .
  WRITE_TO_DB  ADR4   .
  WRITE_TO_DB  ADR5   .
  WRITE_TO_DB  ADR6   .
  WRITE_TO_DB  ADR7   .
  WRITE_TO_DB  ADR8   .
  WRITE_TO_DB  ADR9   .
  WRITE_TO_DB  ADR10  .                                 "*178i
  WRITE_TO_DB  ADR11  .                                 "*178i
  WRITE_TO_DB  ADR12  .                                 "*178i
  WRITE_TO_DB  ADR13  .                                 "*178i
  WRITE_TO_DB  ADRCOMC.
  WRITE_TO_DB  ADRG   .
  WRITE_TO_DB  ADRGP  .
  WRITE_TO_DB  ADRV   .
  WRITE_TO_DB  ADRVP  .

ENDFUNCTION.

分享到:
评论

相关推荐

    SAP命令列表

    ### SAP命令列表详解 #### Pfcg:角色与权限参数文件配置 - **用途**:Pfcg 是 SAP 系统中用于配置角色和权限的主要事务代码。通过此事务码,管理员可以创建新角色、编辑现有角色以及为角色分配特定的事物代码...

    sap学习资源(初学者宝典)

    在SAP系统中,ABAP内存是用于在程序之间快速传递数据的一种机制。使用以下两个语句进行ABAP内存的数据交换: 1. **EXPORT to MEMORY ID**:用于将数据复制到ABAP内存。 2. **IMPORT from MEMORY ID**:用于将数据...

    asp+access做的留言板

    - 注册:用户提交留言时,ASP脚本将获取表单数据(如姓名、邮箱、留言内容等),并使用SQL INSERT语句将其存入Access数据库。 - 显示:主页上,ASP脚本会执行SELECT语句获取所有留言,然后用HTML格式化这些数据,...

    基于Django花卉商城系统的设计与实现-2885fb37-.zip

    基于Django花卉商城系统的设计与实现_2885fb37--.zip

    102页-智慧农业解决方案.pdf

    智慧农业,作为现代农业的新篇章,正引领着农业生产的革命性变革。本解决方案以物联网、云计算、大数据等先进技术为核心,为农业生产打造了一套全面、智能的管理系统。 想象一下,从温室大棚到广袤田野,智能传感器遍布每个角落,它们能实时感知空气温湿度、土壤水分、光照强度等环境参数,仿佛为农作物装上了“眼睛”和“耳朵”。这些数据通过物联网技术传输到云端,经过大数据分析,为农民提供精准的种植建议,如何时灌溉、施肥、防虫,让农业生产变得更加科学、高效。 更有趣的是,通过智慧农业平台,农民可以远程监控作物生长情况,甚至用手机就能控制温室大棚的遮阳板、通风设备等,实现“指尖上的农业”。此外,方案还包含了农产品可追溯系统,从田间到餐桌,每一步都可追溯,让消费者吃得放心。而智慧农业电商平台,则让农产品销售更加便捷,农民直接对接市场,收益倍增。 总之,这套智慧农业解决方案不仅让农业生产变得更加智能、高效,还提升了农产品的质量和安全,为农民带来了实实在在的收益,开启了农业现代化的新篇章。 对于想要投身智慧农业领域的你来说,这不仅仅是一套解决方案,更是一把开启现代农业大门的钥匙,引领你走向更加辉煌的未来。

    【人工智能模型部署】DeepSeek本地部署与WebUI可视化:环境搭建、模型启动及界面开发指南文档的主要内容

    内容概要:本文档详细介绍了DeepSeek本地部署与WebUI可视化的一般步骤。本地部署方面,涵盖了环境准备(硬件要求如多核CPU、8GB以上内存或带适当显存的NVIDIA GPU,软件环境涵盖操作系统如Ubuntu 20.04及以上版本、Python环境及依赖库如PyTorch或TensorFlow)、获取DeepSeek模型代码和权重(通过官方仓库克隆代码,从指定渠道下载权重)、模型配置与启动(配置模型参数,运行启动脚本以初始化模型和服务)。WebUI可视化部分则推荐了Streamlit和Gradio两种框架,介绍了它们的安装、使用方法(通过编写脚本调用DeepSeek API构建交互界面),以及集成与部署(确保WebUI与模型服务之间的数据正确传递,在本地运行后可通过浏览器访问)。 适合人群:对深度学习模型部署有一定了解的技术人员,尤其是那些希望将DeepSeek模型应用于本地环境并提供用户友好界面的研发人员。 使用场景及目标:①为希望在本地环境中运行DeepSeek模型的研究者或开发者提供详细的部署指南;②帮助用户快速搭建一个带有图形化操作界面的DeepSeek应用,降低使用门槛,提高用户体验。 阅读建议:在阅读时,应根据自己的操作系统环境和硬件条件调整相应的配置要求,同时注意按照官方文档的具体指引操作,确保各组件版本兼容,以便顺利完成部署和可视化工作。

    MISRA C 2014和MISRA CPP 2008版本

    MISRA C 2014和MISRA CPP 2008版本

    Revit2024二次开发之安装Addin

    Revit2024二次开发之安装Addin

    ai应用文生视频大模型及AI人应用方案设计.docx### 文生视频大模型及AI人应用方案总结

    内容概要:本文详细介绍了文生视频大模型及AI人应用方案的设计与实现。文章首先阐述了文生视频大模型的技术基础,包括深度生成模型、自然语言处理(NLP)和计算机视觉(CV)的深度融合,以及相关技术的发展趋势。接着,文章深入分析了需求,包括用户需求、市场现状和技术需求,明确了高效性、个性化和成本控制等关键点。系统架构设计部分涵盖了数据层、模型层、服务层和应用层的分层架构,确保系统的可扩展性和高效性。在关键技术实现方面,文章详细描述了文本解析与理解、视频生成技术、AI人交互技术和实时处理与反馈机制。此外,还探讨了数据管理与安全、系统测试与验证、部署与维护等重要环节。最后,文章展示了文生视频大模型在教育、娱乐和商业领域的应用场景,并对其未来的技术改进方向和市场前景进行了展望。 适用人群:具备一定技术背景的研发人员、产品经理、数据科学家以及对AI视频生成技术感兴趣的从业者。 使用场景及目标:①帮助研发人员理解文生视频大模型的技术实现和应用场景;②指导产品经理在实际项目中应用文生视频大模型;③为数据科学家提供技术优化和模型改进的思路;④让从业者了解AI视频生成技术的市场潜力和发展趋势。 阅读建议:本文内容详尽,涉及多个技术细节和应用场景,建议读者结合自身的专业背景和技术需求,重点阅读与自己工作相关的章节,并结合实际项目进行实践和验证。

    黑板风格毕业答辩模板25个

    黑板风格毕业答辩模板是一系列富有创意和趣味性的答辩文档模板,专为追求独特表达的大学生设计。这25个模板模拟了传统黑板的效果,结合了手绘风格与现代设计理念,使得内容呈现既生动又具学术感。每个模板都强调清晰的结构和易于理解的布局,适用于各类学科和研究领域,帮助学生有效地展示研究成果和核心观点。 黑板风格不仅带来亲切感,还能唤起人们对课堂学习的回忆,为答辩增添了轻松而专业的氛围。这些模板配备了丰富的图标、示意图和配色,既美观又实用,能够帮助学生在答辩中更好地吸引评审的注意力,增强信息的传达效果。无论是科技、艺术还是人文社科,黑板风格毕业答辩模板都能够为你的演示增添一份独特的魅力,提升你的表现,助力你在毕业答辩中取得成功。

    delphi-ACCESS宠物医院

    delphi_ACCESS宠物医院

    社会心理学:MATLAB复杂系统仿真在群体行为预测中的跨学科研究.pdf

    文档支持目录章节跳转同时还支持阅读器左侧大纲显示和章节快速定位,文档内容完整、条理清晰。文档内所有文字、图表、函数、目录等元素均显示正常,无任何异常情况,敬请您放心查阅与使用。文档仅供学习参考,请勿用作商业用途。 你是否渴望高效解决复杂的数学计算、数据分析难题?MATLAB 就是你的得力助手!作为一款强大的技术计算软件,MATLAB 集数值分析、矩阵运算、信号处理等多功能于一身,广泛应用于工程、科学研究等众多领域。 其简洁直观的编程环境,让代码编写如同行云流水。丰富的函数库和工具箱,为你节省大量时间和精力。无论是新手入门,还是资深专家,都能借助 MATLAB 挖掘数据背后的价值,创新科技成果。别再犹豫,拥抱 MATLAB,开启你的科技探索之旅!

    DDS Accepted Assessment Instruments DDS 认可的评估工具.doc

    DDS Accepted Assessment Instruments DDS 认可的评估工具.doc

    Windows下MySQL安装与配置教程.markdown

    mysql安装配置教程 本教程将指导您在Windows操作系统上安装和配置MySQL数据库,适用于MySQL 8.0及以上版本。本教程以清晰的步骤说明,确保初学者也能顺利完成安装和基本配置。

    体育科学突破:MATLAB生物力学仿真优化短跑运动员起跑姿态.pdf

    文档支持目录章节跳转同时还支持阅读器左侧大纲显示和章节快速定位,文档内容完整、条理清晰。文档内所有文字、图表、函数、目录等元素均显示正常,无任何异常情况,敬请您放心查阅与使用。文档仅供学习参考,请勿用作商业用途。 你是否渴望高效解决复杂的数学计算、数据分析难题?MATLAB 就是你的得力助手!作为一款强大的技术计算软件,MATLAB 集数值分析、矩阵运算、信号处理等多功能于一身,广泛应用于工程、科学研究等众多领域。 其简洁直观的编程环境,让代码编写如同行云流水。丰富的函数库和工具箱,为你节省大量时间和精力。无论是新手入门,还是资深专家,都能借助 MATLAB 挖掘数据背后的价值,创新科技成果。别再犹豫,拥抱 MATLAB,开启你的科技探索之旅!

    ### 智慧教育应用发展研究报告(2025年)总结

    内容概要:《智慧教育应用发展研究报告(2025年)》由中国信息通信研究院发布,全面梳理了全球及我国智慧教育的发展现状和趋势。报告指出,智慧教育通过多种数字技术促进教育模式、管理模式和资源生成等方面的变革。国外经济体如欧盟、美国、韩国和日本纷纷通过顶层设计推动智慧教育发展,而我国则通过政策支持、基础设施建设、技术融合等多方面努力,推动智慧教育进入“快车道”。智慧教育应用场景分为智慧校园和校外教育两类,涵盖教学、考试、评价、管理和服务等多个方面。报告还详细分析了支撑智慧教育发展的技术、产业、基础设施和安全能力的发展趋势,并指出了当前面临的挑战及建议。 适用人群:教育领域的政策制定者、教育管理者、教育技术从业者、研究人员和关心教育发展的社会各界人士。 使用场景及目标:①了解全球及我国智慧教育的最新进展和趋势;②为政策制定者提供决策参考;③为教育管理者和技术从业者提供实施智慧教育的具体指导;④促进教育技术的研发和应用。 其他说明:报告强调了智慧教育在促进教育公平、提升教育质量、推动教育模式创新等方面的重要性,并呼吁加强跨领域协同攻关、缩小教育数字化差距、强化网络信息安全和提升教师数字素养,以应对当前面临的挑战。

    AC6003V200R008C10SPC300.cc华为AC6003-8固件系统下载

    华为AC6003-8固件系统 网上确实 不好找啊

    教育领域基于Word模板的实习证明文档设计:学生实习信息规范化记录与管理

    内容概要:这是一份实习证明模板,用于证明学生在指定单位完成实习经历。主要内容包括学生的学校、年级、专业以及姓名,明确标注了实习开始日期、实习单位名称、具体岗位、薪资待遇、单位地址及联系方式等信息,还列出了实习期间的指导教师及其联系方式。文件最后设有单位公章、单位负责人签字及联系电话的位置,并标明开具证明的日期。; 适合人群:即将或正在实习的大学生、大专生以及其他需要开具实习证明的学生群体。; 使用场景及目标:①为学生提供规范的实习证明文件,方便学校、企业或其他相关机构核实实习情况;②作为实习经历的正式书面记录,可用于求职、升学等场合。; 其他说明:此模板可根据不同学校和单位的具体要求进行适当调整,确保信息完整性和准确性。在填写时应注意核实各项信息的真实性,确保与实际情况相符。

    IMG_20250416_154832.jpg

    IMG_20250416_154832.jpg

    红色警戒95版(RA95)

    游戏亲测无毒可用,可在Win10、Win11等系统直接运行(执行ra95.exe,无需虚拟机) #初代经典红警,#红警95,#RTS,#电脑游戏,#怀旧游戏

Global site tag (gtag.js) - Google Analytics