当前位置: 首页 > news >正文

abapgit 安装及使用

abapgit 需求 SA[ BASIS 版本 702 及以上

版本查看路径如下:

 

安装步骤如下:

1. 下载abapgit 独立版本 程序

链接如下:raw.githubusercontent.com/abapGit/build/main/zabapgit_standalone.prog.abap

2.安装开发版本

2.1 在线安装

    前置条件是你首先下载了GitHub 的证书,并且已经上传完成,步骤如下:

   注意:为预防不必要的安全问题发生,要求SAP下载中心的加密图书馆版本尽可能的等级更高

  查看方法如下:STRUST> Environment > Display SSF Version:

   

    ①.下载github的证书

     浏览器中输入 GitHub: Let’s build from here · GitHub

    

     按照顺序依次导出三个证书

     

② STRUST 安装证书

 

都导入成功会会出现中间证书列表。 最后点击保存 

③ SMICM 重启ICM

④ 测试 SSL证书是否安装完成

*&---------------------------------------------------------------------*
*& Report  ZABAPGIT_TEST_SSL
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zabapgit_test_ssl.* See https://docs.abapgit.org********************************************************************************
* The MIT License (MIT)
*
* Copyright (c) 2014 abapGit Contributors
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
********************************************************************************SELECTION-SCREEN BEGIN OF BLOCK sc_header WITH FRAME TITLE sc_titl1.SELECTION-SCREEN SKIP.SELECTION-SCREEN COMMENT 1(77) sc_txt1.SELECTION-SCREEN SKIP.SELECTION-SCREEN COMMENT /1(77) sc_txt2.SELECTION-SCREEN COMMENT /1(77) sc_txt3.SELECTION-SCREEN COMMENT /1(77) sc_txt4.
SELECTION-SCREEN END OF BLOCK sc_header.SELECTION-SCREEN SKIP.SELECTION-SCREEN BEGIN OF BLOCK sc_serv WITH FRAME TITLE sc_titl2.PARAMETERS:p_url1 TYPE string LOWER CASE DEFAULT 'https://github.com' OBLIGATORY,p_url2 TYPE string LOWER CASE DEFAULT 'https://api.github.com',p_id   TYPE strustssl-applic DEFAULT 'ANONYM' OBLIGATORY.
* api.github.com is used when pushing code back to github
SELECTION-SCREEN END OF BLOCK sc_serv.SELECTION-SCREEN SKIP.SELECTION-SCREEN BEGIN OF BLOCK sc_proxy WITH FRAME TITLE sc_titl3.
* proxy settings, fill if your system is behind a proxyPARAMETERS:p_proxy TYPE string LOWER CASE,p_pport TYPE string LOWER CASE,p_puser TYPE string LOWER CASE,p_ppwd  TYPE string LOWER CASE.
SELECTION-SCREEN END OF BLOCK sc_proxy.CLASS lcl_report DEFINITION.PUBLIC SECTION.METHODS runIMPORTINGiv_url TYPE string.METHODS display_response.METHODS f4_urlRETURNINGVALUE(rv_url) TYPE string.PRIVATE SECTION.TYPES:BEGIN OF ty_server,server TYPE w3server,url    TYPE w3url,END OF ty_server,ty_servers TYPE STANDARD TABLE OF ty_server WITH KEY server.TYPES:BEGIN OF ty_link,line     TYPE i,response TYPE string,END OF ty_link,ty_links TYPE STANDARD TABLE OF ty_link WITH NON-UNIQUE KEY line.DATA mt_links TYPE ty_links.METHODS display_errorIMPORTINGiv_text TYPE string.METHODS display_messagesIMPORTINGiv_response TYPE string.METHODS add_response_linkIMPORTINGiv_response TYPE string.METHODS get_serversRETURNINGVALUE(rt_servers) TYPE ty_servers.ENDCLASS.CLASS lcl_report IMPLEMENTATION.METHOD run.DATA:lv_code          TYPE i,lv_url           TYPE string,li_http_client   TYPE REF TO if_http_client,lv_error_message TYPE string,lv_reason        TYPE string,lv_response      TYPE string.IF iv_url IS INITIAL.RETURN.ENDIF.cl_http_client=>create_by_url(EXPORTINGurl                 = iv_urlssl_id              = p_idproxy_host          = p_proxyproxy_service       = p_pportIMPORTINGclient              = li_http_clientEXCEPTIONSargument_not_found  = 1plugin_not_active   = 2internal_error      = 3OTHERS              = 4 ).IF sy-subrc <> 0.display_error( 'HTTP Client Create' ).RETURN.ENDIF.IF p_puser IS NOT INITIAL.li_http_client->authenticate(proxy_authentication = abap_trueusername             = p_puserpassword             = p_ppwd ).ENDIF.li_http_client->send( ).li_http_client->receive(EXCEPTIONShttp_communication_failure = 1http_invalid_state         = 2http_processing_failed     = 3OTHERS                     = 4 ).IF sy-subrc <> 0.display_error( 'HTTP Client Receive' ).li_http_client->get_last_error(IMPORTINGmessage = lv_response ).display_messages( lv_response ).WRITE / 'Also check transaction SMICM -> Goto -> Trace File -> Display End'.RETURN.ENDIF.* if SSL Handshake fails, make sure to also check https://launchpad.support.sap.com/#/notes/510007li_http_client->response->get_status(IMPORTINGcode   = lv_codereason = lv_reason ).IF lv_code = 200.WRITE: / iv_url, ': ok'.ELSE.WRITE: / iv_url, ': Error', lv_code, space, lv_reason.lv_response = li_http_client->response->get_cdata( ).IF lv_response IS NOT INITIAL.add_response_link( lv_response ).ENDIF.REPLACE ALL OCCURRENCES OF cl_abap_char_utilities=>cr_lf(1) IN lv_response WITH ``.display_messages( lv_response ).ENDIF.ENDMETHOD.METHOD display_error.WRITE: / iv_text, '- Error Number:', sy-subrc, /.MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgnoDISPLAY LIKE 'I'WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.ENDMETHOD.METHOD display_messages.DATA:lt_lines TYPE TABLE OF string,lv_line  TYPE string.SPLIT iv_response AT cl_abap_char_utilities=>newline INTO TABLE lt_lines.LOOP AT lt_lines INTO lv_line.WRITE / lv_line.ENDLOOP.SKIP.ENDMETHOD.METHOD add_response_link.DATA lv_link TYPE ty_link.WRITE / 'Display Error Response as HTML' COLOR = 6 HOTSPOT.lv_link-line     = sy-linno.lv_link-response = iv_response.APPEND lv_link TO mt_links.ENDMETHOD.METHOD display_response.DATA lv_link TYPE ty_link.READ TABLE mt_links INTO lv_link WITH TABLE KEY line = sy-curow.IF sy-subrc = 0.cl_abap_browser=>show_html(html_string = lv_link-responsecheck_html  = abap_false ).ENDIF.ENDMETHOD.METHOD get_servers.DATA ls_server TYPE ty_server.ls_server-server = 'GitHub (Read Access)'.ls_server-url    = 'https://github.com'.INSERT ls_server INTO TABLE rt_servers.ls_server-server = 'GitHub (Write Access)'.ls_server-url    = 'https://api.github.com'.INSERT ls_server INTO TABLE rt_servers.ls_server-server = 'GitLab'.ls_server-url    = 'https://gitlab.com/test'.INSERT ls_server INTO TABLE rt_servers.ls_server-server = 'Azure DevOps'.ls_server-url    = 'https://dev.azure.com/<org>'.INSERT ls_server INTO TABLE rt_servers.ls_server-server = 'Bitbucket'.ls_server-url    = 'https://bitbucket.org'.INSERT ls_server INTO TABLE rt_servers.ls_server-server = 'Assembla'.ls_server-url    = 'https://git.assembla.com/<org>'.INSERT ls_server INTO TABLE rt_servers.SORT rt_servers.ENDMETHOD.METHOD f4_url.DATA:ls_server  TYPE ty_server,lt_servers TYPE TABLE OF ty_server,ls_return  TYPE ddshretval,lt_return  TYPE TABLE OF ddshretval.lt_servers = get_servers( ).CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'EXPORTINGretfield        = 'SERVER'window_title    = 'Git Server Selection'value_org       = 'S'TABLESvalue_tab       = lt_serversreturn_tab      = lt_returnEXCEPTIONSparameter_error = 1no_values_found = 2OTHERS          = 3.IF sy-subrc <> 0.display_error( 'Server Value Help' ).RETURN.ENDIF.READ TABLE lt_return INTO ls_return INDEX 1.IF sy-subrc = 0.READ TABLE lt_servers INTO ls_server WITH KEY server = ls_return-fieldval.IF sy-subrc = 0.rv_url = ls_server-url.ENDIF.ENDIF.ENDMETHOD.ENDCLASS.DATA go_report TYPE REF TO lcl_report.INITIALIZATION.sc_titl1               = 'Description'.sc_txt1                = 'This report tests the connection from this system to a Git server'.sc_txt2                = 'Select or enter the URL of the Git server and run the report. You can'.sc_txt3                = 'test two URLs at the same time, for example, if read and write'.sc_txt4                = 'access require different servers.'.sc_titl2               = 'Git Server'.%_p_url1_%_app_%-text  = 'URL (Read Access)'.%_p_url2_%_app_%-text  = 'URL (Write Access)'.%_p_id_%_app_%-text    = 'SSL Client Identity'.sc_titl3               = 'Proxy Settings (Optional)'.%_p_proxy_%_app_%-text = 'Hostname/IP'.%_p_pport_%_app_%-text = 'Port'.%_p_puser_%_app_%-text = 'Username'.%_p_ppwd_%_app_%-text  = 'Password'.CREATE OBJECT go_report.AT SELECTION-SCREEN.p_proxy = replace(val   = p_proxyregex = 'http(s?)://'with  = ''occ   = 1 ).AT SELECTION-SCREEN OUTPUT.LOOP AT SCREEN.IF screen-name = 'P_PPWD'.screen-invisible = 1.MODIFY SCREEN.ENDIF.ENDLOOP.AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_url1.p_url1 = go_report->f4_url( ).AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_url2.p_url2 = go_report->f4_url( ).START-OF-SELECTION.go_report->run( p_url1 ).WRITE: /, '----', /.go_report->run( p_url2 ).AT LINE-SELECTION.go_report->display_response( ).

至此 SSL证书安装算是完成了,我们开始在线安装开发版本的abapgit

    (1) 执行ZABAPGIT_STANDALONE 程序然后点击 new online

(2)   输入URL:  https://github.com/abapGit/abapGit/

  输入包名:$ABAPGIT

      如果包不存在,那么就先创建包。再创建连接,最后点击PULL

 2.2 离线安装

然后点击IMPORT ,点击PULL 即可

以上安装完成之后,那么就可以直接执行你的事务代码ZABAPGIT

相关文章:

abapgit 安装及使用

abapgit 需求 SA[ BASIS 版本 702 及以上 版本查看路径如下&#xff1a; 安装步骤如下&#xff1a; 1. 下载abapgit 独立版本 程序 链接如下&#xff1a;raw.githubusercontent.com/abapGit/build/main/zabapgit_standalone.prog.abap 2.安装开发版本 2.1 在线安装 前置条…...

园区无线覆盖方案(智慧园区综合解决方案)

​ 李经理正苦恼头疼的工业园区数字化改造项目。近年企业快速增长,园区内Argent工业设备激增,IT部门应接不暇。为确保生产系统稳定运行,IT管理团队经过反复摸索,决定进行全面的数字化升级。然而改造之艰巨远超想象——混杂的接入环境、复杂的专线部署、长达数月的建设周期,种种…...

配置中心--Spring Cloud Config

目录 概述 环境说明 步骤 创建远端git仓库 准备配置文件 配置中心--服务端 配置中心--客户端 配置中心的高可用 配置中心--服务端 配置中心--客户端 消息总线刷新配置 配置中心--服务端 配置中心--客户端 概述 因为微服务架构有很多个服务&#xff0c;手动一个一…...

笔记-模拟角频率和数字角频率的关系理解

先建议阅读前人此文&#xff08;点击这里&#xff09;&#xff0c;有助于理解。 模拟频率&#xff1a;f 模拟角频率&#xff1a;Ω 数字角频率&#xff1a;ω 其中&#xff1a;在模拟信号中Ω 2πf 正弦波表示&#xff1a;sin(2πft) sin(Ωt) 数字信号就是离散的&#xff…...

Zookeeper+Kafka集群

注&#xff1a;本章使用的Kafka为2.7.0版本 Zookeeper概述 1.Zookeeper定义 Zookeeper是一个开源的分布式的&#xff0c;为分布式框架提供协调服务的Apache项目。 2.Zookeeper工作机制 Zookeeper从设计模式角度来理解&#xff1a;是一个基于观察者模式设计的分布式服务管理…...

Sunshine+Moonlight+Android手机串流配置(局域网、无手柄)

目录 前言Sunshine&#xff08;服务端&#xff09;ApplicationConfigurationGeneralAdvance Moonlight&#xff08;客户端&#xff09;配对打开虚拟手柄串流按键调整退出串流 原神&#xff0c;启动&#xff01; 前言 写这篇文章单纯是因为搜来搜去没有很符合我需求的教程&#…...

从顺序表中删除具有最小值的元素(假设唯一) 并由函数返回被删元素的值。空出的位 置由最后一个元素填补,若顺序表为空,则显示出错信息并退出运行。

题目描述&#xff1a;从顺序表中删除具有最小值的元素(假设唯一) 并由函数返回被删元素的值。空出的位置由最后一个元素填补&#xff0c;若顺序表为空&#xff0c;则显示出错信息并退出运行。 bool DeleteMin(SqList &L,int &min){if(L.length 0)return false;min L…...

详解—[C++ 数据结构]—AVL树

目录 一.AVL树的概念 二、AVL树节点的定义 三、AVL树的插入 3.1插入方法 四、AVL树的旋转 1. 新节点插入较高左子树的左侧---左左&#xff1a;右单旋 2. 新节点插入较高右子树的右侧---右右&#xff1a;左单旋 3.新节点插入较高左子树的右侧---左右&#xff1a;先左单旋…...

卷积神经网络(CNN):乳腺癌识别.ipynb

文章目录 一、前言一、设置GPU二、导入数据1. 导入数据2. 检查数据3. 配置数据集4. 数据可视化 三、构建模型四、编译五、训练模型六、评估模型1. Accuracy与Loss图2. 混淆矩阵3. 各项指标评估 一、前言 我的环境&#xff1a; 语言环境&#xff1a;Python3.6.5编译器&#xf…...

有文件实体的后门无文件实体的后门rootkit后门

有文件实体后门和无文件实体后门&RootKit后门 什么是有文件的实体后门&#xff1a; 在传统的webshell当中&#xff0c;后门代码都是可以精确定位到某一个文件上去的&#xff0c;你可以rm删除它&#xff0c;可以鼠标右键操作它&#xff0c;它是有一个文件实体对象存在的。…...

GPT实战系列-大模型训练和预测,如何加速、降低显存

GPT实战系列-大模型训练和预测&#xff0c;如何加速、降低显存 不做特别处理&#xff0c;深度学习默认参数精度为浮点32位精度&#xff08;FP32&#xff09;。大模型参数庞大&#xff0c;10-1000B级别&#xff0c;如果不注意优化&#xff0c;既耗费大量的显卡资源&#xff0c;…...

SQL Sever 基础知识 - 数据排序

SQL Sever 基础知识 - 二 、数据排序 二 、对数据进行排序第1节 ORDER BY 子句简介第2节 ORDER BY 子句示例2.1 按一列升序对结果集进行排序2.2 按一列降序对结果集进行排序2.3 按多列对结果集排序2.4 按多列对结果集不同排序2.5 按不在选择列表中的列对结果集进行排序2.6 按表…...

vscode配置使用 cpplint

标题安装clang-format和cpplint sudo apt-get install clang-format sudo pip3 install cpplint标题以下settings.json文件放置xxx/Code/User目录 settings.json {"sync.forceDownload": false,"workbench.sideBar.location": "right","…...

C++ 系列 第四篇 C++ 数据类型上篇—基本类型

系列文章 C 系列 前篇 为什么学习C 及学习计划-CSDN博客 C 系列 第一篇 开发环境搭建&#xff08;WSL 方向&#xff09;-CSDN博客 C 系列 第二篇 你真的了解C吗&#xff1f;本篇带你走进C的世界-CSDN博客 C 系列 第三篇 C程序的基本结构-CSDN博客 前言 面向对象编程(OOP)的…...

C++ 指针详解

目录 一、指针概述 指针的定义 指针的大小 指针的解引用 野指针 指针未初始化 指针越界访问 指针运算 二级指针 指针与数组 二、字符指针 三、指针数组 四、数组指针 函数指针 函数指针数组 指向函数指针数组的指针 回调函数 指针与数组 一维数组 字符数组…...

.locked、locked1勒索病毒的最新威胁:如何恢复您的数据?

导言&#xff1a; 网络安全问题变得愈加严峻。.locked、locked1勒索病毒是近期备受关注的一种恶意软件&#xff0c;给用户的数据带来了巨大威胁。本文将深入探讨.locked、locked1勒索病毒的特征&#xff0c;探讨如何有效恢复被其加密的数据&#xff0c;并提供一些建议&#xf…...

Apache Sqoop使用

1. Sqoop介绍 Apache Sqoop 是在 Hadoop 生态体系和 RDBMS 体系之间传送数据的一种工具。 Sqoop 工作机制是将导入或导出命令翻译成 mapreduce 程序来实现。在翻译出的 mapreduce 中主要是对 inputformat 和 outputformat 进行定制。 Hadoop 生态系统包括&#xff1a;HDFS、Hi…...

【UGUI】实现UGUI背包系统的六个主要交互功能

在这篇教程中&#xff0c;我们将详细介绍如何在Unity中实现一个背包系统的六个主要功能&#xff1a;添加物品、删除物品、查看物品信息、排序物品、搜索物品和使用物品。让我们开始吧&#xff01; 一、添加物品 首先&#xff0c;我们需要创建一个方法来添加新的物品到背包中。…...

电压驻波比

电压驻波比 关于IF端口的电压驻波比 一个信号变频后&#xff0c;从中频端口输出&#xff0c;它的输出跟输入是互异的。这个电压柱波比反映了它输出的能量有多少可以真正的输送到后端连接的器件或者设备。...

Open3D 最小二乘拟合二维直线(直接求解法)

目录 一、算法原理二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。爬虫网站自重。 一、算法原理 平面直线的表达式为: y = k x + b...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

设计模式和设计原则回顾

设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

【单片机期末】单片机系统设计

主要内容&#xff1a;系统状态机&#xff0c;系统时基&#xff0c;系统需求分析&#xff0c;系统构建&#xff0c;系统状态流图 一、题目要求 二、绘制系统状态流图 题目&#xff1a;根据上述描述绘制系统状态流图&#xff0c;注明状态转移条件及方向。 三、利用定时器产生时…...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

华硕a豆14 Air香氛版,美学与科技的馨香融合

在快节奏的现代生活中&#xff0c;我们渴望一个能激发创想、愉悦感官的工作与生活伙伴&#xff0c;它不仅是冰冷的科技工具&#xff0c;更能触动我们内心深处的细腻情感。正是在这样的期许下&#xff0c;华硕a豆14 Air香氛版翩然而至&#xff0c;它以一种前所未有的方式&#x…...

Selenium常用函数介绍

目录 一&#xff0c;元素定位 1.1 cssSeector 1.2 xpath 二&#xff0c;操作测试对象 三&#xff0c;窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四&#xff0c;弹窗 五&#xff0c;等待 六&#xff0c;导航 七&#xff0c;文件上传 …...